Python/Go

Python学习

2021-05-09  本文已影响0人  逛逛_堆栈

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)

运行项目,查看。
我们就可以可视化对文章进行增删改查操作了。


上一篇 下一篇

猜你喜欢

热点阅读