Django基础篇 04-模型类注册到后台Django Admin中
一、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中的更多相关文章
- 01: Django基础篇
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- Django 基础篇(一)
创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...
- iOS系列 基础篇 04 探究视图生命周期
iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...
- Django基础之MTV模型
一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...
- django基础篇
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- Java多线程系列--“基础篇”04之 synchronized关键字
概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...
- Django基础篇之数据库选择及相关操作
在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一.利用命令创建(在终端上执行) 1.首先创建一个project项目 ...
- python的django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- python3之Django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- Django基础篇--Models
在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢? 下面这篇文章简单梳理了一下创建Model层的过程和应用 模型-Models 首先需要理解什么是模型? 模型 ...
随机推荐
- 18.SQLite应用案例-课程表
一.程序界面 1.课程表首页 一周有7天,一天有10节课. 课程表首页的布局activity_main.xml框架设计大致如此: 最外层使用线性布局设置屏幕水平方向android:orientatio ...
- css 卡片hover效果
.card { height: 430px; width: 100%; background:#ffffff; border:1px solid #eaeefb; border-radius:5px; ...
- 下载安装i5ting_toc
全部都是以管理员身份运行powershell 1.打开powershell之后输入命令npm i i5ting_toc -g 这样就全局安装了 2.set-ExecutionPolicy Remote ...
- windows用curl报错
https://www.shuzhiduo.com/A/kmzLRmgl5G/ IE浏览器 -> 设置 -> Internet选项 -> 安全 -> 本地Internet -& ...
- 解决linux系统中对两个不同的网络连接http访问
项目5G 问题背景:调用网络端的服务器服务,对本地机器人进行控制,以实现机器人应执行的任务. 需求:主机需要访问外网的API,同时在本地局域网与机器人的API进行通信. 问题:要解决HTTP请求发送到 ...
- oracle form lov 查询慢
设置lov属性,如下:
- uniapp for显示数据改变时,绑定的list值同时改变
<template> <view class="container"> <uni-table> <uni-tr v-for="( ...
- Oracle学习undo之IMU机制
1.传统undo块 在传统情况下Oracle对待undo表空间和普通表空间是一视同仁的,一个事务开始的时候,在相对空闲的undo回滚段的段头块的事务表获取一个槽位,把事务信息写上,有可能: 1.1.段 ...
- python中如何获取主机的ip和主机名
使用python中的socket库,可以轻松获取主机ip和主机名. 一.获取主机名 import socket hostname = socket.gethostname() print(hostna ...
- linux 服务器 重命名
vim /etc/hosts 追加 10.10.134.68 RmcbTestDB3 RmcbTestDB3 # ip 名称 名称 127.0.0.1 localhost ...