随笔录--Django框架(二)

本文详细介绍了如何在Django框架中使用admin站点管理功能,包括创建超级管理员账号、添加用户、管理模型、设置中文界面和列显示选项,以及两种常见的模型注册方式。
摘要由CSDN通过智能技术生成

Django框架

1. admin站点管理

django本身提供了admin站点管理应用,在每一个app提供了admin.py脚本文件,可以将当前应用的models.py中模型类,添加到admin站点中,以方便管理员管理模型对应的数据。

1.1 创建管理员账号(超级管理员账号)
python manage.py createsuperuser

图片

如上图所示,设置的用户名,邮箱地址,密码均为:admin@qq.com

接下来,运行程序

python manage.py runserver

图片

输入:http://127.0.0.1:8000/admin/ 回车之后,跳转页面

图片

1.1添加用户

图片

图片

成功添加用户信息,用户名为admin,密码为admin@qq.com(注意,这个和超级管理员账号不一样)

此时注意下图的状态

图片

退出登录状态,重新登录

图片

然后用新添加的用户登录,报如下错误

图片

解决办法:

用超级管理员账号登录,进区修改用户的状态

图片

给此用户增加Staff status

图片

操作完如下

图片

再次用此账号登录测试

图片

此时在数据库里,下面几张表比较重要

图片

图片

总结:

启动服务之后,可以访问/admin进入站点后台管理页面。

可以尝试创建后台管理人员账号,将activate和staff status勾选上。并添加login应用的管理User模型的权限。

1.2  将login应用中的模型类添加到admin.py中

在login应用的admin.py文件添加代码如下:

from django.contrib import admin
from .models import User

# Register your models here.

admin.site.register(User)

图片

保存之后,重新刷新站点页面

图片

图片

如果会有四条数据,查看数据库可知,保存了四条数据

图片

1.3添加用户信息

此时修改一下代码,使user_id可以为空

user_id = models.IntegerField(primary_key=True,blank=True)

图片

下面添加用户

图片

此时再看数据库数据,多了一条

图片

1.4 添加用户界面设置中文

修改login文件里面的models.py代码

图片

保存之后,刷新admin页面

图片

1.5 修改ADD user 中文

图片

在login模块models.py添加代码

    class Meta:
        verbose_name = '会员'
        verbose_name_plural = verbose_name

图片

效果如下

图片

1.6 修改语言和时区

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

图片

刷新站点页面,效果如下:

图片

1.6 修改站点的列

图片

在login的admin.py修改代码如下:

from django.contrib import admin
from .models import User

# Register your models here.

class  UserAdmin(admin.ModelAdmin):
    list_display = ('user_id','name','phone','email')
    list_display_links = ('name',)
    # 过滤器
    list_filter = ('name','phone')
    list_editable = ('phone','email')
    search_fields = ('name','phone','email')
admin.site.register(User,UserAdmin)

图片

1.7 修改模型类

注意添加Field字段参数的blank和verbase_name

图片

在上面代码已经修改下面的报错,下图看一下即可。

图片

保存刷新,界面如下

图片

总结

站点有两种写法

方法一:
class  UserAdmin(admin.ModelAdmin):
    list_display = ('user_id','name','phone','email')
    list_display_links = ('name',)
    # 过滤器
    list_filter = ('name','phone')
    list_editable = ('phone','email')
    search_fields = ('name','phone','email')
admin.site.register(User,UserAdmin)



方法二
@admin.register(User)
class  UserAdmin(admin.ModelAdmin):
    list_display = ('user_id','name','phone','email')
    list_display_links = ('name',)
    # 过滤器
    list_filter = ('name','phone')
    list_editable = ('phone','email')
    search_fields = ('name','phone','email')

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值