如何在Django中为用户创建注册表

问题描述:

什么是Django创建用户的方式? 我不是在谈论超级用户,只是一个简单的形式为用户和创建一个帐户如何在Django中为用户创建注册表

+0

您是指现有用户的登录表单(如您的标题所示)或新用户的注册表单(如您的问题所示)? – Ben

+0

用户和身份验证都绑定在一起,覆盖了文档。 https://docs.djangoproject.com/en/1.10/topics/auth/ – Vernon

+0

我想要一个注册表格 –

Django文档覆盖认证的主题很好,并且Django本身带有登录,注销,密码更改视图和重启。注册,你必须创建自己的看法,这样的事情:

from django.contrib.auth.forms import UserCreationForm 
from django.contrib.auth.models import User 
from django.http import HttpResponse 
from django.shortcuts import render 

def create_user(request): 
    if request.method == 'POST': 
     form = UserCreationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      return HttpResponse("User created successfully!") 
    else: 
     form = UserCreationForm() 
     return render(request, 'auth/create_user.html', {'form': form}) 

这将使用Django的内置用户创作的形式,这需要一个用户名和两个密码,进行验证。你的模板看起来是这样的:

<form action='/create-user/' method='post'> 
    {% csrf_token %} 
    {{ form }} 
    <input type="submit" value="Submit" /> 
</form> 

注册不是Django框架AFAIK的一部分。我可以推荐django-registrationhttps://django-registration.readthedocs.io)申请。它确实需要一些自定义模板,但通过编写自己的注册视图可以节省很多麻烦。