[英]Django: Create new user account
我在創建新帳戶然后登錄時遇到了一些麻煩。我在(first_name,last_name,用戶名,密碼)中輸入了所有憑據,然后選擇“創建新帳戶”,它成功將我重定向到登錄頁面。 但是,當我嘗試使用該新帳戶登錄時,它說我的用戶名不存在。
該問題最有可能在我的views.py文件中:
def create_account(request):
if request.method == 'POST':
new_user = User(username = request.POST["username"],
password = request.POST["password"])
new_user.save()
Student.objects.create(user=new_user,
first_name=str(request.POST.get("first_name")),
last_name=str(request.POST.get("last_name")))
new_user.is_active = True
return redirect('../')
else:
return render(request, 'polls/create_account.html')
讓我知道你們是否需要更多代碼或信息。 謝謝!
密碼字段需要加密。 如果要設置密碼,則需要使用set_password()方法來處理加密。
new_user = User(username = request.POST["username"]) new_user.set_password(request.POST["password"]) new_user.save()
如果您使用帶有cleaned_data
form
,則這是另一個選擇:
def create_account(self, request):
if request.method == 'POST':
form = RegisterForm(request.POST) #registration form
if form.is_valid():
cd = form.cleaned_data
username = cd['username']
password = cd['password']
new_user = User.objects.create_user(
username = cd['username'],
password = cd['password']
)
new_user.save()
#... do stuff
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.