59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
from django.http import HttpResponse
|
|
from django.shortcuts import render
|
|
from django.shortcuts import redirect
|
|
from .models import Groups
|
|
from .forms import GroupsForm
|
|
|
|
|
|
|
|
def index(request):
|
|
if not request.session.get('is_login', None):
|
|
return redirect('/groups/login/')
|
|
return render(request, 'groups/index.html')
|
|
|
|
def login(request):
|
|
# 不允许重复登录
|
|
if request.session.get('is_login', None):
|
|
return redirect('/groups/index/')
|
|
if request.method == "POST":
|
|
groups_form = GroupsForm(request.POST)
|
|
message = '请检查填写的内容!'
|
|
if groups_form.is_valid():
|
|
username = groups_form.cleaned_data.get('username')
|
|
password = groups_form.cleaned_data.get('password')
|
|
|
|
try:
|
|
user = Groups.objects.get(name=username)
|
|
except:
|
|
message = '用户不存在!'
|
|
return render(request, 'groups/login.html', locals())
|
|
if user.password == password:
|
|
request.session['is_login'] = True
|
|
request.session['user_id'] = user.id
|
|
request.session['user_name'] = user.name
|
|
return redirect('/groups/index/')
|
|
else:
|
|
message = '密码不正确!'
|
|
return render(request, 'groups/login.html', locals())
|
|
else:
|
|
return render(request, 'groups/login.html', locals())
|
|
groups_form = GroupsForm()
|
|
return render(request, 'groups/login.html', locals())
|
|
|
|
def logout(request):
|
|
if not request.session.get('is_login', None):
|
|
return redirect('/groups/login')
|
|
request.session.flush()
|
|
return redirect('/groups/login')
|
|
|
|
import json
|
|
from captcha.models import CaptchaStore
|
|
from captcha.helpers import captcha_image_url
|
|
def refresh_captcha(request):
|
|
hashkey = CaptchaStore.generate_key()
|
|
image_url = captcha_image_url(hashkey)
|
|
return HttpResponse(json.dumps({'key': hashkey, 'image_url': image_url}), content_type='application/json')
|
|
|
|
|
|
|