标签:erb search 内容 https from ike vip arc str
用户表主要控制3张表
# 修改auth模块的用户表指向
AUTH_USER_MODEL = 'api.User'
# 重点:
# 1)auth认证6表必须在第一次数据库迁移前确定,第一次数据库迁移完成
# 2)完成数据库迁移,出现了auth的用户表迁移异常,需要删除的数据库迁移文件
# User表所在的自定义应用下的、admin组件下的、auth组件下的
from django.db import models
# Create your models here.
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
mobile = models.CharField(max_length=11, unique=True)
class Meta:
db_table = 'od_user' # 重新给表命名
verbose_name = '用户表' # 后台登陆显示表名
verbose_name_plural = verbose_name
def __str__(self): # 用一个字段来表示一个表
return self.username
理解参照下表
content_type 主要是和permission提供作用,是django建立的表
# 给Django中的所有模块中的所有表进行编号存储到content_type表中
# 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识该权限具体操作的是哪张表
# 应用二:价格策略
"""
Course:
name、type、days、price、vip_type
基础 免费课 7 0
中级 学位课 180 69
究极 会员课 360 至尊会员
Course:
name、type、days、content_type_id
基础 免费课 7 null
中级 学位课 180 1
究极 会员课 360 2
app01_course_1
id、price
app01_course_2
id vip_type
content_type表(Django提供)
id、app_label、model
1 app01 course_1
2 app01 course_2
"""
在admin.py文件夹中进行注册,在后台可以显示
from django.contrib import admin
# Register your models here.
from . import models
admin.site.register(models.User)#注册user表
如果不重写的话,在添加用户的时候不能直接添加,因为密码是明文的,所以在后台添加的时候,需要进行重写
from django.contrib.auth.admin import UserAdmin
在后台所有的展示和输入都可以由这个模块进行控制
可以自己控制重写的内容
主要是重写里里面的属性
from django.contrib import admin
from . import models
# admin注册自定义User表:密文操作密码
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
class UserAdmin(AuthUserAdmin):
add_fieldsets = (
(None, {
'classes': ('wide',),
# 添加用户界面可操作的字段
'fields': ('username', 'password1', 'password2', 'mobile', 'email', 'is_staff', 'is_active'),
}),
)
list_display = ('username', 'mobile', 'email', 'is_staff', 'is_active')
# 明文操作密码,admin可视化添加的用户密码都是明文,登录时用的是密文,所以用户无法登录
# admin.site.register(models.User)
admin.site.register(models.User, UserAdmin)
class ArticleConfig(admin.ModelAdmin):
list_display = ['title','create_time'] # 配置展示字段
list_display_links = ['title','create_time'] # 指定多个跳转标签
search_fields = ['title'] # 指定查询 多个字段默认是or的关系
def patch_init(self,queryset):
pass
patch_init.short_description = '批量更新'
actions = [patch_init,] # 自定义批量处理函数
list_filter = ['tags','category'] # 定义外键字段的过滤
标签:erb search 内容 https from ike vip arc str
原文地址:https://www.cnblogs.com/SkyOceanchen/p/11930831.html