使用django内置的用户认证进行注册:
一、数据库的建立:
- 导入AbstractUser类
from django.contrib.auth.models import AbstractUser
- 建立一个新的基类BaseModel,在其中添加删除标志和用户创建时间字段
- 在应用user的模块中创建User类,继承AbstractUser,BaseModel
user字段如下:
±-------------±-------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±-------------±-------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| password | varchar(128) | NO | | NULL | |
| last_login | datetime(6) | YES | | NULL | |
| is_superuser | tinyint(1) | NO | | NULL | |
| username | varchar(30) | NO | UNI | NULL | |
| first_name | varchar(30) | NO | | NULL | |
| last_name | varchar(30) | NO | | NULL | |
| email | varchar(254) | NO | | NULL | |
| is_staff | tinyint(1) | NO | | NULL | |
| is_active | tinyint(1) | NO | | NULL | |
| date_joined | datetime(6) | NO | | NULL | |
| is_delete | tinyint(1) | NO | | NULL | |
| create_time | datetime(6) | NO | | NULL | |
±-------------±-------------±-----±----±--------±---------------+
二、setting文件的修改
在setting中添加AUTH_USER_MODEL = 'user.User'
,引用自定义的用户模型
三、路径的配置
- 在项目同名文件下的urls中添加user的urls路径
- 在user的urls中添加注册页面的路径以及views中的register方法
四、views中的register方法
from django.views.generic import View
创建一个继承于View类的RegisterView类,通过此类,可以将注册页面的get请求和post于同一个页面实现。 同时,user中urls文件中将分配给reigster的url修改为url(r'^register', views.RegisterView.as_view()),
完成这四步,就可以通过get请求进入register页面,填写好信息,通过post请求将数据传入RegisterView类中的post方法,request.POST.get()
获取用户输入的注册信息,并通过User.objects.create_user()
将得到的用户数据添入数据库中。