def register(request):if request.method == '
post':
username = request.post.get('
username')
password = request.post.get('
password')
print(username,password)
if user.objects.filter(username=username):
user_status[
'status
'] =false
user_status[
'msg
'] = '
請更換使用者名稱!
'return
httpresponse(json.dumps(user_status))
elif username == '' or password== ''
: user_status[
'status
'] =false
user_status[
'msg
'] = '
使用者名稱和密碼不能為空!
'else
: user.objects.create_user(username=username,password=password)
user_status[
'status
'] =true
user_status[
'msg
'] = '
註冊成功!
'return httpresponse(json.dumps(user_status))
使用auth.authenticate(username= username,passowrd=passowrd),這個使用者認證時候,明明資料庫中有記錄,但是返回就none
在配置註冊使用者的時候使用了user.objects.create('username=username,password=password)
1.並沒有新增到在auth_user(django自帶的表)中,而是放進了通過modely對映生成的表,從而導致auth.authenticate()根本查不到響應的資料
2.插入資料使用者名稱密碼時應該用user.objects.create_user(username=username,password=password),這個方法會把密碼生成雜湊值,插進資料庫,而不能用user.objects.create(。。。。),這樣插進去的資料密碼是明文
正確用法:user.objects.create_user(username=username,password=password)