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

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

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

相关推荐
章鱼丸-4 分钟前
DAY31 文件的拆分和写法
开发语言·python
原来是猿7 分钟前
MySQL【用户管理】
数据库·mysql
唐叔在学习16 分钟前
Python桌面端应用最小化托盘开发实践
后端·python·程序员
2501_9454235417 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
2401_8463416519 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
未知鱼29 分钟前
Python安全开发之子域名扫描器(含详细注释)
网络·python·安全·web安全·网络安全
2401_8318249632 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
2401_8579182942 分钟前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
今儿敲了吗1 小时前
python基础学习笔记第九章——模块、包
开发语言·python
IvorySQL1 小时前
PostgreSQL 19 重磅新语法终于补齐这个缺口
数据库·postgresql·开源