Python 从0开始 一步步基于Django创建项目(3)使用Admin site管理数据模型

本文内容建立在《Python 从0开始 一步步基于Django创建项目(2)创建应用程序&数据模型》的基础上。

Django提供的admin site,使得网站管理员,能够轻松管理网站的数据模型。

本文首先创建'管理员账户',即超级用户,设置其用户名、密码登信息。

然后将之前定义的数据模型,在admin site中进行注册。

最后以管理员身份登录,在其中对已经注册的数据模型进行操作。

以下逐步完成。

1、进入虚拟环境

复制代码
C:\Users\grace>cd C:\D\Python\Python310\study\snap_gram\sg_env\Scripts

C:\D\Python\Python310\study\snap_gram\sg_env\Scripts>activate

(sg_env) C:\D\Python\Python310\study\snap_gram\sg_env\Scripts>cd C:\D\Python\Python310\study\snap_gram\

(sg_env) C:\D\Python\Python310\study\snap_gram>

2、创建管理员账户

复制代码
(sg_env) C:\D\Python\Python310\study\snap_gram>python manage.py createsuperuser
Username (leave blank to use 'grace'): sg_admin
Email address:
Password:
Password (again):
The password is too similar to the username.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

创建管理员的命令是:python manage.py createsuperuser

此处创建的管理员的Username和Password都是sg_admin。Email address可以为空。

3、在admin site中注册要管理的模型。

要管理的模型,就是在《Python 从0开始 一步步基于Django创建项目(2)创建应用程序&数据模型》中定义的:City、Entry。

打开C:\D\Python\Python310\study\snap_gram\city_infos路径下的admin.py文件。做如下编辑:

python 复制代码
from django.contrib import admin

# Register your models here.

#models前面的句点让Django在admin.py所在的目录中查找models.py
from .models import City,Entry

#注册被管理的数据模型
admin.site.register(City)
admin.site.register(Entry)

4、启动服务器

python 复制代码
(sg_env) C:\D\Python\Python310\study\snap_gram>python manage.py runserver 8005

5、使用管理员账号登录网站

1)在浏览器中输入地址:http://127.0.0.1:8005/admin

出现登录界面如下:

2)输入用户名和密码,此处都是sg_admin.

登录后出现如下界面:

6、点击对应条目进行编辑。

1)添加city

2)为城市添加条目信息entry

添加条目信息时,需要选定城市。

为城市'北京'添加多条条目后显示:

相关推荐
兜兜风d'32 分钟前
redis字符串命令
数据库·redis·缓存
AI小云1 小时前
【Python与AI基础】Python编程基础:模块和包
人工智能·python
努力努力再努力wz1 小时前
【C++进阶系列】:万字详解智能指针(附模拟实现的源码)
java·linux·c语言·开发语言·数据结构·c++·python
忧郁的蛋~2 小时前
EFcore查询a表中符合b表列的值
数据库
小蕾Java2 小时前
Python详细安装教程(附PyCharm使用)
开发语言·python·pycharm
weixin_307779132 小时前
使用AWS IAM和Python自动化权限策略分析与导出
开发语言·python·自动化·云计算·aws
惜月_treasure2 小时前
从零构建私域知识库问答机器人:Python 全栈实战(附完整源码)
开发语言·python·机器人
xwz小王子2 小时前
ManipulationNet:开启真实世界机器人操作基准测试新时代
数据库·机器人
咯哦哦哦哦2 小时前
关于QT 打印中文 乱码问题
java·数据库·qt
野犬寒鸦2 小时前
从零起步学习Redis || 第十二章:Redis Cluster集群如何解决Redis单机模式的性能瓶颈及高可用分布式部署方案详解
java·数据库·redis·后端·缓存