Django Admin 管理工具
Django 提供了基于 web 的管理工具。
Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py中的 INSTALLED_APPS 看到它。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'studentmanager', # 注册自己的应用
'empmanager', # 注册自己的应用
]
激活管理工具,我们生成项目时,已经在urls.py下自动设置完毕。
from django.contrib import admin
from django.urls import path
from django.conf.urls import url,include
urlpatterns = [
path('admin/', admin.site.urls),
path('stu/',include('studentmanager.urls')), # 配置studentmanager的urls
path('emp/',include('empmanager.urls')), # 配置empmanager的urls
]
启动开发服务器,然后在浏览器中访问http://127.0.0.1:8000/admin/
通过命令:py manage.py createsuperuser 来创建超级用户来登陆。然后根据提示输入账号、邮箱、密码就可以了。
管理工具使用
为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。在对应应用下的admin.py添加类似下面代码即可。
from django.contrib import admin
from empmanager.models import Django_Employee
from studentmanager.models import StudentInfo
# 管理端注册员工
admin.site.register(Django_Employee)
# 管理端注册学生
# admin.site.register(StudentInfo)
下面我们利用管理工具 实现一个博客项目的web端管理。
1、创建项目、模型、生成数据库
创建项目
py manage.py startapp blog
注册应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'studentmanager', # 注册自己的应用
'empmanager', # 注册自己的应用
'blog',# 注册自己的应用
]
配置路由
from django.contrib import admin
from django.urls import path
from django.conf.urls import url,include
urlpatterns = [
path('admin/', admin.site.urls),
path('stu/',include('studentmanager.urls')), # 配置studentmanager的urls
path('emp/',include('empmanager.urls')), # 配置empmanager的urls
path('blog/', include('blog.urls')), # 配置博客的urls
]
配置模型
rom django.db import models
from django.contrib.auth.models import User
# Create your models here.
# 博客模型
class Article(models.Model):
title = models.CharField(max_length=64, verbose_name='文章标题')
author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='作者')
visited = models.IntegerField(default=0, verbose_name='访问量')
img = models.ImageField(upload_to='', null=True, blank=True, verbose_name='文章图片')
abstract = models.TextField(verbose_name='文章摘要')
content = models.TextField(verbose_name='文章内容')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
modified_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
生成数据库
py manage.py makemigrations
py manage.py migrate
2、注册配置
在blog应用下admin.py下注册配置即可。
from django.contrib import admin
from blog.models import Article
admin.site.register(Article)
运行项目,查看。
我们就可以可视化对文章进行增删改查操作了。
网友评论