4.django笔记之admin
2016-06-13 14:07
609 查看
作者:刘耀
QQ:22102107
而使用django admin 则需要以下步骤:
1.创建后台管理员
2.配置url
3.注册和配置django admin后台管理页面
注册app
修改settings
2.设置表结构
以用图书管理信息设计表结构
修改book下面的model.py
加入以下内容:
3.生成表结构
4.创建超级管理员
5.查看admin后台
此时admin是不显示咱们新加入的book相关的model
如果要加入那么需要将model注册到admin里
6.将表加入注册到admin
修改book项目下面的admin.py
后台查看:
之所以显示中文是因为我在定义model的时候 使用了
7.使用admin插入一条新数据
以作者为例,点击add
输入以下字段
显示
为什么只显示刘耀这个作者呢,其他信息不显示呢,是因为我在定义model的时候
使用了
8.使用admin的方法展示想要展示的数据
list_display = ('字段名')#把字段信息全部显示出来
修改book下面的admin.py
加入以下内容:
显示:
9.搜索功能
search_fields = ('name','age','phone','email') 这样就可以按照 标题或内容搜索了
代码如下:
from django.contrib import admin
显示:
10.编辑时候显示顺序
fields = ('name','age','phone','email') #edit界面就按这个顺序显示
显示:
11.排序
ordering = ('age',) 按照年龄排序
显示:
12.过滤器
list_filter = ('name',)#页面右边会出现相应的过滤器选项
13.显示外键的详细信息
raw_id_fields = ("内容",)
对于ForeighKey字段,也有相应的设置,用来输入字段的ID,点击边上的
放大镜图标,也会弹出选择框
显示:
14.扩展(使用装饰器注册admin)
还没写完
QQ:22102107
django-Admin
django amdin是django提供的一个后台管理页面,改管理页面提供完善的html和css,使得你在通过Model创建完数据库表之后,就可以对数据进行增删改查,而使用django admin 则需要以下步骤:
1.创建后台管理员
2.配置url
3.注册和配置django admin后台管理页面
步骤:
1.工程和创建app注册app
修改settings
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'book', ]
2.设置表结构
以用图书管理信息设计表结构
修改book下面的model.py
加入以下内容:
from django.db import models # Create your models here. class Author(models.Model): #作者 name = models.CharField(max_length=30,verbose_name='姓名')#姓名 age = models.CharField(max_length=30,verbose_name='年龄')#年龄 phone = models.CharField(max_length=11,verbose_name='手机号')#手机号 email = models.EmailField(verbose_name='邮箱')#邮箱 def __str__(self): return self.name class Meta: verbose_name = '作者' verbose_name_plural = '作者' class Publisher(models.Model):#出版社 name = models.CharField(max_length=30,verbose_name='出版社')#出版社姓名 address = models.CharField(max_length=50,verbose_name='地址')#出版社地址 city = models.CharField(max_length=60,verbose_name='城市')#出版社城市 state_province = models.CharField(max_length=30,verbose_name='省份')#省份 country = models.CharField(max_length=50,verbose_name='国家')#国家 website = models.URLField(verbose_name='官网')#官网 def __str__(self): return self.name class Meta: verbose_name = '出版社' verbose_name_plural = '出版社' class Book(models.Model):#书 name = models.CharField(max_length=60,verbose_name='书名')#书名 author = models.ManyToManyField(Author,verbose_name='作者')#关联作者 publisher = models.ForeignKey(Publisher,verbose_name='出版社')#关联 publication_date = models.DateField(verbose_name='出版时间')#时间 def __str__(self): return self.name class Meta: verbose_name = '书名' verbose_name_plural = '书名'
3.生成表结构
python manage.py makemigrations python manage.py migrate
4.创建超级管理员
python manage.py createsuperuser Username (leave blank to use 'administrator'): admin Email address: 870000@163.com Password: Password (again): Superuser created successfully.
5.查看admin后台
运行python manage.py runserver 8000 访问:http://127.0.0.1:8000/admin
此时admin是不显示咱们新加入的book相关的model
如果要加入那么需要将model注册到admin里
6.将表加入注册到admin
修改book项目下面的admin.py
from django.contrib import admin # Register your models here. from book import models #将作者注册到admin后台 admin.site.register(models.Author) #将书籍注册到admin后台 admin.site.register(models.Book) #将版社注册到admin后台 admin.site.register(models.Publisher)
后台查看:
之所以显示中文是因为我在定义model的时候 使用了
class Meta: verbose_name = '书名' verbose_name_plural = '书名' verbose_name的意思很简单,就是给你的模型类起一个更可读的名字: 为了从admin后台更好的显示罢了。其他没吊用。
7.使用admin插入一条新数据
以作者为例,点击add
输入以下字段
显示
为什么只显示刘耀这个作者呢,其他信息不显示呢,是因为我在定义model的时候
使用了
def __str__(self): return self.name 这样的时候就是为了返回用户名给admin看。
8.使用admin的方法展示想要展示的数据
list_display = ('字段名')#把字段信息全部显示出来
修改book下面的admin.py
加入以下内容:
#创建类 class AuthorAdmin(admin.ModelAdmin): #把这个作者表里的想要显示值放进去 list_display = ('name','age','phone','email') #将作者注册到admin后台 admin.site.register(models.Author,AuthorAdmin) #其他内容不需要修改
显示:
9.搜索功能
search_fields = ('name','age','phone','email') 这样就可以按照 标题或内容搜索了
代码如下:
from django.contrib import admin
# Register your models here. from book import models class AuthorAdmin(admin.ModelAdmin): list_display = ('name','age','phone','email') #添加搜索功能 search_fields = ('name','age','phone','email') #将作者注册到admin后台 admin.site.register(models.Author,AuthorAdmin)
显示:
10.编辑时候显示顺序
fields = ('name','age','phone','email') #edit界面就按这个顺序显示
class AuthorAdmin(admin.ModelAdmin): list_display = ('name','age','phone','email') search_fields = ('name','age','phone','email') #编辑的时候首先显示名字 年龄 邮箱 和手机号 fields = ('name','age','email','phone') #将作者注册到admin后台 admin.site.register(models.Author,AuthorAdmin)
显示:
11.排序
ordering = ('age',) 按照年龄排序
from django.contrib import admin # Register your models here. from book import models class AuthorAdmin(admin.ModelAdmin): list_display = ('name','age','phone','email') search_fields = ('name','age','phone','email') fields = ('name','age','email','phone') #按照年龄排序 ordering = ('age',) #将作者注册到admin后台 admin.site.register(models.Author,AuthorAdmin)
显示:
12.过滤器
list_filter = ('name',)#页面右边会出现相应的过滤器选项
13.显示外键的详细信息
raw_id_fields = ("内容",)
对于ForeighKey字段,也有相应的设置,用来输入字段的ID,点击边上的
放大镜图标,也会弹出选择框
class BookAdmin(admin.ModelAdmin): raw_id_fields = ('author','publisher',) list_display = ('name','publication_date',) #将书籍注册到admin后台 admin.site.register(models.Book,BookAdmin)
显示:
14.扩展(使用装饰器注册admin)
@admin.register(models.Book) class BookAdmin(admin.ModelAdmin): raw_id_fields = ('author','publisher',) list_display = ('name','publication_date',)
还没写完
相关文章推荐
- How to write a good bug report
- 地图瓦片相关学习总结
- golang: Baa框架文章列表
- windows中Django安装教程
- golang map 用原生range遍历不能保证顺序输出
- Googel 浏览器 模拟发送请求工具--Advanced REST Client
- GO语言学习(二)
- 问道术业:Google软件测试
- HeyWeGo第五周项目总结
- mongoose的基本操作(二)
- mongoose的基本操作(一)
- 【LQ系列】 ALGO-1~ALGO-2
- Ubuntu 下环境搭建系列 —— 安装 Google Chrome
- Django setting 常用配置
- Monad in Hask(一)
- God Chang's interview——异或
- Google体系地图纠偏算法
- Leetcode 198. House Robber
- django+celery+djcelery 最简配置
- Leetcode 3. Longest Substring Without Repeating Characters