django admin 默认已经存在了一个用户认证,这个时候可以偷个小懒,直接用 django 自带的,就不需要自己写用户认证了
1、目录结构:
2、代码
- 在 settings.py 中添加一行
# 如果不添加该行,则在未登录状态打开页面的时候验证是否登录的装饰器跳转到 /accounts/login/ 下面
# 第一种解决方法就是修改 settings.py 中的 LOGIN_URL
# 第二种解决方法是在 url 中匹配该 url
LOGIN_URL = "/login/" - CRM/app01/models.py
from django.db import models from django.contrib.auth.models import User class UserProfile(models.Model): """账户信息表""" user = models.OneToOneField(User) # 跟 django 的 User 表做一个一对一 name = models.CharField(max_length=32) roles = models.ManyToManyField("Role", blank=True, null=True)
- CRM/CRM/urls.py
View Code
from django.conf.urls import url, include from django.contrib import admin from CRM import views urlpatterns = [ url(r'^crm/', include("app01.urls")), url(r'^login/', views.acc_login), url(r'^logout/', views.acc_logout), ]