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

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

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

相关推荐
多喝开水少熬夜17 分钟前
损失函数系列:focal-Dice-vgg
图像处理·python·算法·大模型·llm
初学小刘1 小时前
基于 U-Net 的医学图像分割
python·opencv·计算机视觉
B站计算机毕业设计之家2 小时前
Python招聘数据分析可视化系统 Boss直聘数据 selenium爬虫 Flask框架 数据清洗(附源码)✅
爬虫·python·selenium·机器学习·数据分析·flask
傻啦嘿哟2 小时前
用Redis实现爬虫URL去重与队列管理:从原理到实战的极简指南
数据库·redis·爬虫
冒泡的肥皂2 小时前
2PL+MVCC看一些场景
数据库·后端·mysql
雪碧聊技术2 小时前
爬虫是什么?
大数据·爬虫·python·数据分析
FL16238631292 小时前
[yolov11改进系列]基于yolov11使用fasternet_t0替换backbone用于轻量化网络的python源码+训练源码
python·yolo·php
Freshman小白2 小时前
python算法打包为docker镜像(边缘端api服务)
python·算法·docker
岁岁岁平安2 小时前
python mysql-connector、PyMySQL基础
python·mysql·pymysql
码农阿豪2 小时前
从权限混沌到安全有序:金仓数据库的权限隔离如何超越MySQL
数据库·mysql·安全