Django_admin的相关知识(82)
时间:2020-05-28
本文章向大家介绍Django_admin的相关知识(82),主要包括Django_admin的相关知识(82)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Admin
1.在网页上进入admin页面
注意,必须要先在Django中创建一个超级用户:
python manage.py createsuperuser
以此作为进入admin的账户。
2.相关操作
先在Django的models.py中创建几张表,以此来操作
models.py:
from django.db import models # Create your models here. from django.db import models # Create your models here. from django.db import models # Create your models here. class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) age=models.IntegerField() # 与AuthorDetail建立一对一的关系 authorDetail=models.OneToOneField(to="AuthorDetail",on_delete=models.CASCADE) def __str__(self): return self.name class AuthorDetail(models.Model): nid = models.AutoField(primary_key=True) birthday=models.DateField() telephone=models.BigIntegerField() addr=models.CharField( max_length=64) class Publish(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) city=models.CharField( max_length=32) email=models.EmailField() def __str__(self): return self.name class Book(models.Model): nid = models.AutoField(primary_key=True) title = models.CharField( max_length=32) publishDate=models.DateField() price=models.DecimalField(max_digits=5,decimal_places=2) # 与Publish建立一对多的关系,外键字段建立在多的一方 publish=models.ForeignKey(to="Publish",to_field="nid",on_delete=models.CASCADE) # 与Author表建立多对多的关系,ManyToManyField可以建在两个模型中的任意一个,自动创建第三张表 authors=models.ManyToManyField(to='Author',) def __str__(self): return self.title
注意;
加上 def __str__(self): 函数是为了在显示的时候可以显示自己想要看到的名字,要是不加就会显示一个对象名,如 Book Object
1.admin.py中的内容
要想在网页admin中显示创建的表,就必须要先配置admin.py文件:
最简单如:
from django.contrib import admin # Register your models here. from .models import * admin.site.register(Book) admin.site.register(Author) admin.site.register(AuthorDetail) admin.site.register(Publish)
结果如下:
向Books表中添加书:
效果如下:
如果想要他显示的为多个Book属性,如:
则需要修改admin.py如下:
from django.contrib import admin # Register your models here. from .models import * class BookConfig(admin.ModelAdmin): list_display = ['title','price','publishDate','publish'] admin.site.register(Book,BookConfig) admin.site.register(Author) admin.site.register(AuthorDetail) admin.site.register(Publish)
让admin根据自己定义的区显示。
注意:
在Book表中的字段包括:title,publish,publishDate,price,authors
其中除了authors不可以加在 list_display中,其余的都可以,简单来说就是 多对多 的不可以这样使用,一对多的可以(publish)
要是想要后显示出来的字段可以和第一个字段一样,高亮可点击的话,如:
则需要改变admin.py如下:
from django.contrib import admin # Register your models here. from .models import * class BookConfig(admin.ModelAdmin): list_display = ['title','price','publishDate','publish'] list_display_links = ['title','price'] #可以添加多个 admin.site.register(Book,BookConfig) admin.site.register(Author) admin.site.register(AuthorDetail) admin.site.register(Publish)
原文地址:https://www.cnblogs.com/liujie12/p/12980906.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JVM详解之:HotSpot VM中的Intrinsic methods
- C++基础 多线程笔记(一)
- C++基础 数据类型占字节大小分析
- socket方式传输文件
- 《重构-代码整洁之道TypeScript版》第2天
- 堆积柱形图(stacked barplot)展示密码子偏向性的RSCU值
- 《重构-代码整洁之道TypeScript版》第一天
- Hive小知识之分桶抽样
- CountDownLatch类在性能测试中应用
- 算法集锦(20) | 自动驾驶 | 交通标志识别算法
- 敏捷回归测试
- 算法集锦(21) | 自动驾驶 |汽车转向角控制算法
- Java压缩/解压缩字符串
- 凉经算法题反思 | 单调栈与DP二分法
- 终于有人把Docker讲清楚了!