一、django自带的admin的url地址

urls.py文件中

from django.contrib import admin
from django.urls import path
from user import views urlpatterns = [
path('admin/', admin.site.urls),
path('index',views.index),
path('',views.get_sign_01),
path('category/<int:id>',views.category),
path('detail/<int:article_id>',views.detail)
]

二、创建admin用户

python manage.py createsuperuser 

也可以使用pycharm 的自带的 run manage.py task

三、登录django后台管理

四、编写models.py类

from django.db import models

# Create your models here.

# 模型类:是表
# 模型对象:是数据,所以当返回数据对象的时候,需要在models 类中 添加魔法函数__str__ 避免返回的是类的对象
# 模型对象属性:是每个字段 class BaseModel(models.Model):
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间') class Meta:
abstract = True # 抽象基类 此模型 不需要创建表 class Category(BaseModel):
name = models.CharField(max_length=50,verbose_name='分类名称',unique=True,null=False) class Meta:
db_table = 'category' # 表名
verbose_name = '文章分类'
verbose_name_plural = verbose_name
ordering = ['-create_time']
#
def __str__(self):
return self.name class Article(BaseModel):
title = models.CharField(max_length=100,verbose_name='文章标题')
content = models.TextField(verbose_name='文章内容') # 长文本内容
read_count = models.IntegerField(default=0,verbose_name='阅读次数')
category = models.ForeignKey(Category,on_delete=models.PROTECT,verbose_name='文章分类') # 外键 """
models.DO_NOTHING 删除父表 不影响子表
models.CASCADE 删除父表 同时删除子表
models.SET_DEFAULT 删除父表 子表相关字段设置默认值
models.SET_NULL 删除父表 子表相关字段设置为空
models.PROTECT 受保护的,父表存在子表,则不能删除父表
models.SET 自定义模式,自己指定
""" class Meta:
db_table = 'article' # 表名
verbose_name = '文章' # web展示的别名
verbose_name_plural = verbose_name
ordering = ['-create_time']
def __str__(self): # 修改类对象的输出内容 默认输出对象属于的类和 此对象的内存地址
return self.title

五、把models的类注册到admin中

admin.py中文件添加注册的models.py的类:

from django.contrib import admin
from . import models
# Register your models here. class CategoryAdmin01(admin.ModelAdmin): # 模型定制化展示
list_display = ['id','name','create_time','update_time']
list_filter = ['name']
search_fields = ['name'] class ArticleAdmin01(admin.ModelAdmin):
list_display = ['id','title','read_count','create_time','update_time']
list_filter = ['title']
search_fields = ['title'] admin.site.register(models.Category,CategoryAdmin01) # 注册模型 并 按照定制化的形式展示
admin.site.register(models.Article) # 注册模型到admin后台
admin.site.site_title = 'SKY' # 修改title
admin.site.site_header = 'SKY后台管理' # 修改header

六、在django后台管理页面中可以查看注册模型表

Django基础篇 04-模型类注册到后台Django Admin中的更多相关文章

  1. 01: Django基础篇

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  2. Django 基础篇(一)

    创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...

  3. iOS系列 基础篇 04 探究视图生命周期

    iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...

  4. Django基础之MTV模型

    一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...

  5. django基础篇

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  6. Java多线程系列--“基础篇”04之 synchronized关键字

    概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...

  7. Django基础篇之数据库选择及相关操作

    在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一.利用命令创建(在终端上执行) 1.首先创建一个project项目 ...

  8. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  9. python3之Django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  10. Django基础篇--Models

    在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢? 下面这篇文章简单梳理了一下创建Model层的过程和应用 模型-Models 首先需要理解什么是模型? 模型 ...

随机推荐

  1. 18.SQLite应用案例-课程表

    一.程序界面 1.课程表首页 一周有7天,一天有10节课. 课程表首页的布局activity_main.xml框架设计大致如此: 最外层使用线性布局设置屏幕水平方向android:orientatio ...

  2. css 卡片hover效果

    .card { height: 430px; width: 100%; background:#ffffff; border:1px solid #eaeefb; border-radius:5px; ...

  3. 下载安装i5ting_toc

    全部都是以管理员身份运行powershell 1.打开powershell之后输入命令npm i i5ting_toc -g 这样就全局安装了 2.set-ExecutionPolicy Remote ...

  4. windows用curl报错

    https://www.shuzhiduo.com/A/kmzLRmgl5G/ IE浏览器 -> 设置 -> Internet选项 -> 安全 -> 本地Internet -& ...

  5. 解决linux系统中对两个不同的网络连接http访问

    项目5G 问题背景:调用网络端的服务器服务,对本地机器人进行控制,以实现机器人应执行的任务. 需求:主机需要访问外网的API,同时在本地局域网与机器人的API进行通信. 问题:要解决HTTP请求发送到 ...

  6. oracle form lov 查询慢

    设置lov属性,如下:

  7. uniapp for显示数据改变时,绑定的list值同时改变

    <template> <view class="container"> <uni-table> <uni-tr v-for="( ...

  8. Oracle学习undo之IMU机制

    1.传统undo块 在传统情况下Oracle对待undo表空间和普通表空间是一视同仁的,一个事务开始的时候,在相对空闲的undo回滚段的段头块的事务表获取一个槽位,把事务信息写上,有可能: 1.1.段 ...

  9. python中如何获取主机的ip和主机名

    使用python中的socket库,可以轻松获取主机ip和主机名. 一.获取主机名 import socket hostname = socket.gethostname() print(hostna ...

  10. linux 服务器 重命名

    vim /etc/hosts 追加 10.10.134.68 RmcbTestDB3 RmcbTestDB3               # ip  名称 名称 127.0.0.1 localhost ...