一.Django中自带模块User,是为了admin中更加方便
--------models.py
from django.contrib.auth.models import User #User也是一张表,表中有username,password等 class UserProfile(models.Model): ‘‘‘账号表‘‘‘ user=models.OneToOneField(User) name=models.CharField(max_length=32) roles=models.ManyToManyField("Role",blank=True,null=True) def __str__(self): return self.name
--------index.html
{% request.user.userprofile %}
//有user表时,前端获取数据时不用和后端交互。request.user是固定用法(模板语言中),要获取UserProfile表中数据,直接request.user.userprofile获取(这是反向获取)
正向获取:models.UserProfile.user,不能适用于模板语言
{{request.user}} 一个 AUTH_USER_MODEL 类型的对象,表示当前登陆的用户(admin中的username)在前端模板里可以获取request的所有属性
{{request.user.userprofile.roles.all}} django内嵌的是request.user\\\
user.userprofile反向查找,直接写表名小写
二.
user表中的用户名,密码和python manage.py createsuperuser一样
原文:https://www.cnblogs.com/gaoyukun/p/9221941.html