|
@@ -1,4 +1,4 @@
|
|
|
-from django.shortcuts import render, redirect
|
|
|
+from django.shortcuts import render
|
|
|
from .form import UserLoginForm, UserRegisterForm
|
|
|
from django.contrib.auth import authenticate, login, logout
|
|
|
from django.http import HttpResponse
|
|
@@ -14,6 +14,7 @@ import json
|
|
|
在此处修改token过期时间,30代表30天过期
|
|
|
"""
|
|
|
expiration_date = 30
|
|
|
+DEBUG = True
|
|
|
|
|
|
|
|
|
def user_login(request):
|
|
@@ -38,15 +39,15 @@ def user_login(request):
|
|
|
# 登录
|
|
|
user = device.user
|
|
|
login(request, user)
|
|
|
- response = ['login successfully', device.token]
|
|
|
+ response = {'result': 'login successfully', 'token': device.token}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
# return redirect("chat:index")
|
|
|
else:
|
|
|
- response = ['token time out']
|
|
|
+ response = {'result': 'token time out'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
# 已过期的token并且已经被删除
|
|
|
except Devices.DoesNotExist:
|
|
|
- response = ['detected new device, please login']
|
|
|
+ response = {'result': 'detected new device, please login'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
else:
|
|
|
# 检测账号密码是否匹配数据库中的一个用户
|
|
@@ -68,22 +69,23 @@ def user_login(request):
|
|
|
# 新建一个该user的设备
|
|
|
device = create_new_device(user)
|
|
|
login(request, user)
|
|
|
- response = ['login successfully', device.token]
|
|
|
+ response = {'result': 'login successfully', 'token': device.token}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
else:
|
|
|
- response = ['wrong account or password']
|
|
|
+ response = {'result': 'wrong account or password'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
else:
|
|
|
- response = ['illegal input']
|
|
|
+ response = {'result': 'illegal input'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
# 用于测试,登录界面
|
|
|
- # elif request.method == 'GET':
|
|
|
- # user_login_form = UserLoginForm()
|
|
|
- # context = {'form': user_login_form}
|
|
|
- # return render(request, 'login.html', context)
|
|
|
+ elif request.method == 'GET':
|
|
|
+ if DEBUG:
|
|
|
+ user_login_form = UserLoginForm()
|
|
|
+ context = {'form': user_login_form}
|
|
|
+ return render(request, 'login.html', context)
|
|
|
else:
|
|
|
# 请求方法错误,请使用POST
|
|
|
- response = ['illegal method, please use post']
|
|
|
+ response = {'result': 'illegal method, please use post'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
|
|
|
|
|
@@ -112,7 +114,7 @@ def generate_random_str(random_length=16):
|
|
|
|
|
|
def user_logout(request):
|
|
|
logout(request)
|
|
|
- response = ['logout successfully']
|
|
|
+ response = {'result': 'logout successfully'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
|
|
|
|
|
@@ -126,29 +128,30 @@ def user_register(request):
|
|
|
new_user.set_password(user_register_form.cleaned_data['password'])
|
|
|
# 保存
|
|
|
new_user.save()
|
|
|
- response = ['reg successfully']
|
|
|
+ response = {'result': 'reg successfully'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
else:
|
|
|
- response = ['illegal input']
|
|
|
+ response = {'result': 'illegal input'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
# 用于测试
|
|
|
- # elif request.method == 'GET':
|
|
|
- # user_register_form = UserRegisterForm()
|
|
|
- # context = {'form': user_register_form}
|
|
|
- # return render(request, 'register.html', context)
|
|
|
+ elif request.method == 'GET':
|
|
|
+ if DEBUG:
|
|
|
+ user_register_form = UserRegisterForm()
|
|
|
+ context = {'form': user_register_form}
|
|
|
+ return render(request, 'register.html', context)
|
|
|
else:
|
|
|
- response = ['illegal method, please use post']
|
|
|
+ response = {'result': 'illegal method, please use post'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
|
|
|
|
|
|
@login_required(login_url='/account/login/')
|
|
|
-def profile_detail(request, r_username):
|
|
|
+def profile_edit(request, r_username):
|
|
|
user = User.objects.get(username=r_username)
|
|
|
profile = Profile.objects.get(user__exact=user)
|
|
|
if request.method == 'POST':
|
|
|
# 判断此用户是否正在修改自身账号信息
|
|
|
if request.user != user:
|
|
|
- response = ['You do not have permission to do this']
|
|
|
+ response = {'result': 'You do not have permission to do this'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
profile_form = ProfileForm(request.POST, request.FILES)
|
|
|
if profile_form.is_valid():
|
|
@@ -159,16 +162,47 @@ def profile_detail(request, r_username):
|
|
|
if 'avatar' in request.FILES:
|
|
|
profile.avatar = profile_cd["avatar"]
|
|
|
profile.save()
|
|
|
- response = ['edit successfully']
|
|
|
+ response = {'result': 'edit successfully'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
else:
|
|
|
- response = ['illegal input']
|
|
|
+ response = {'result': 'illegal input'}
|
|
|
return HttpResponse(json.dumps(response))
|
|
|
# 用于测试
|
|
|
- # elif request.method == 'GET':
|
|
|
- # profile_form = ProfileForm()
|
|
|
- # context = {'profile_form': profile_form, 'profile': profile, 'user': user}
|
|
|
- # return render(request, 'edit.html', context)
|
|
|
+ elif request.method == 'GET':
|
|
|
+ if DEBUG:
|
|
|
+ profile_form = ProfileForm()
|
|
|
+ context = {'profile_form': profile_form, 'profile': profile, 'user': user}
|
|
|
+ return render(request, 'edit.html', context)
|
|
|
+ else:
|
|
|
+ response = {'result': 'illegal method, please use post'}
|
|
|
+ return HttpResponse(json.dumps(response))
|
|
|
+
|
|
|
+
|
|
|
+@login_required(login_url='/account/login/')
|
|
|
+def profile_detail(request, r_username):
|
|
|
+ user = User.objects.get(username=r_username)
|
|
|
+ profile = Profile.objects.get(user__exact=user)
|
|
|
+ if request.method == 'POST':
|
|
|
+ response = {}
|
|
|
+ if profile.phone:
|
|
|
+ response['phone'] = profile.phone
|
|
|
+ else:
|
|
|
+ response['phone'] = ''
|
|
|
+ if profile.bio:
|
|
|
+ response['bio'] = profile.bio
|
|
|
+ else:
|
|
|
+ response['bio'] = ''
|
|
|
+ if profile.avatar:
|
|
|
+ response['avatar'] = profile.avatar.url
|
|
|
+ else:
|
|
|
+ response['avatar'] = ''
|
|
|
+ return HttpResponse(json.dumps(response))
|
|
|
+ # 用于测试
|
|
|
+ elif request.method == 'GET':
|
|
|
+ if DEBUG:
|
|
|
+ profile_form = ProfileForm()
|
|
|
+ context = {'profile_form': profile_form, 'profile': profile, 'user': user}
|
|
|
+ return render(request, 'edit.html', context)
|
|
|
else:
|
|
|
- response = ['illegal method, please use post']
|
|
|
+ response = {'result': 'illegal method, please use post'}
|
|
|
return HttpResponse(json.dumps(response))
|