Python之Django框架(二)

本篇主要讲解Django框架的admin站点管理。

1. admin站点管理

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cxt4MPqO-1655223642704)(Typora_image/055.png)]

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

接下来,运行程序

python manage.py runserver

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VuqrHG4W-1655223642706)(Typora_image/056.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VS0az70o-1655223642707)(Typora_image/057.png)]

1.1添加用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pu6QONIL-1655223642716)(Typora_image/058.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ol5IQQyy-1655223642720)(Typora_image/059.png)]

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

此时注意下图的状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6g3zSV9-1655223642725)(Typora_image/060.png)]

退出登录状态,重新登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eAZ6jWax-1655223642730)(Typora_image/061.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uR79Xzk-1655223642732)(Typora_image/062.png)]

解决办法:

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vNUlmrLg-1655223642734)(Typora_image/063.png)]

给此用户增加Staff status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S77id0aB-1655223642736)(Typora_image/064.png)]

操作完如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vitfg4S4-1655223642740)(Typora_image/065.png)]

再次用此账号登录测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMve3VA2-1655223642742)(Typora_image/066.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WTWBoEJN-1655223642744)(Typora_image/067.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpwF9LbM-1655223642747)(Typora_image/068.png)]

总结:

启动服务之后,可以访问/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)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VBD0KSeb-1655223642748)(Typora_image/069.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPTnPVUd-1655223642752)(Typora_image/070.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzM6KyOy-1655223642756)(Typora_image/071.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lOPqvrB-1655223642758)(Typora_image/072.png)]

1.3添加用户信息

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jdCniM6m-1655223642760)(Typora_image/073.png)]

下面添加用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bL9NpgVz-1655223642762)(Typora_image/074.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgLgkakj-1655223642767)(Typora_image/075.png)]

1.4 添加用户界面设置中文

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gv4arM9t-1655223642768)(Typora_image/076.png)]

保存之后,刷新admin页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aTkYwdrD-1655223642769)(Typora_image/077.png)]

1.5 修改ADD user 中文

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dniihXA9-1655223642773)(Typora_image/078.png)]

在login模块models.py添加代码

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RieagZhL-1655223642775)(Typora_image/079.png)]

效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Aphpz31-1655223642777)(Typora_image/080.png)]

1.6 修改语言和时区

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0UxvN4lJ-1655223642779)(Typora_image/081.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-avvYOR3H-1655223642780)(Typora_image/082.png)]

1.6 修改站点的列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tWzOcW8u-1655223642780)(Typora_image/083.png)]

在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)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kczaYAwr-1655223642781)(Typora_image/084.png)]

1.7 修改模型类

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBxCEQAQ-1655223642782)(Typora_image/085.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fWA3IhvO-1655223642784)(Typora_image/086.png)]

保存刷新,界面如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lx2oeLfY-1655223642787)(Typora_image/087.png)]

总结

站点有两种写法

方法一:
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')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NHFh8EXv-1655223642788)(Typora_image/088.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今晚务必早点睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值