各种视图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 登录逻辑
def login(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
nameid = form.cleaned_data["username"]
pswd = form.cleaned_data["passwd"]
try:
user = User.objects.get(userAccount=nameid)
if user.userPasswd != pswd:
return redirect('/login/')
except User.DoesNotExist as e:
return redirect('/login/')

# 更换Token值
token = time.time() + random.randrange(1, 100000)
user.userToken = str(token)
user.save()
# 传递session
request.session["username"] = user.userName
request.session["token"] = user.userToken
return redirect('/mine/')
else:
context = {'title':'登录','form':form,'error':form.errors}
return render(request,'axfapp/login.html',context=context)
else:
form = LoginForm()
context = {'title':'登录','form':form}
return render(request,'axfapp/login.html',context=context)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 注册逻辑
def register(request):
if request.method == "POST":
userAccount = request.POST.get("userAccount")
userPasswd = request.POST.get("userPass")
userName = request.POST.get("userName")
userPhone = request.POST.get("userPhone")
userAdderss = request.POST.get("userAdderss")
userRank = 0
token = time.time() + random.randrange(1, 100000)
userToken = str(token)
f = request.FILES["userImg"]
userImg = os.path.join(settings.MEDIA_ROOT, userAccount + ".png")

with open(userImg, "wb") as fp:
for data in f.chunks():
fp.write(data)

user = User.createuser(userAccount,userPasswd,userName,userPhone,userAdderss,userImg,userRank,userToken)
user.save()

request.session["username"] = userName
request.session["token"] = userToken

return redirect('/mine/')
else:
return render(request, 'axfapp/register.html', {"title":"注册"})
1
2
3
4
5
6
7
8
9
# 检查账户名是否被抢注
def checkuserid(request):
if request.method == 'POST':
userid = request.POST.get('userid')
try:
user = User.objects.get(userAccount=userid)
return JsonResponse({'data':'该用户已经被注册','status':'error'})
except User.DoesNotExist as e:
return JsonResponse({'data':'ok','status':'success'})
1
2
3
4
# 退出登录
def quit(request):
logout(request)
return redirect('/mine/')