admin后台系统的二次开发
会成功安装基础Django
admin后台系统管理(一)
admin后台系统管理(三)
创建应用并添加到项目中
创建模型并注册到后台
创建模型
from django.db import models
# Create your models here.
class BookInfo(models.Model):
name=models.CharField(max_length=50,verbose_name=u"图书名称")
price=models.IntegerField(verbose_name=u"价格",default=20)
autor=models.CharField(max_length=20,verbose_name=u"作者")
imgsrc=models.ImageField(upload_to='static/images/',default='default.jpeg',verbose_name=u"图片封面")
def __str__(self):
return self.name
注册到后台
from django.contrib import admin
from book.models import BookInfo ##导入模板
admin.site.register(BookInfo)
注意:
生成迁移文件和执行迁移
python .\manage.py makemigrations book
python .\manage.py migrate
创建用户
python .\manage.py createsuperuser
运行并添加数据
python .\manage.py runserver
运行web登录刚刚创建的用户并添加数据
注意:自定义页面、字段编辑、添加图片、等一下操作都是在admin.py中添加;只要修改过admin.py的内容就需要重新生成迁移文件和执行
自定义页面设置
在自己创建的应用
中的admin.py内添加
如下:
##自定义页面标题
admin.site.site_header='陈十一yi-头部标题'
admin.site.site_title='陈十一yi-后台管理系统'
显示编辑按钮
注意:http://127.0.0.1:8000/admin/book/bookinfo/%s/change/
是自己的URL
URL中的7替换成动态的obj.id,即可动态拼接编辑页面URL
在自己创建的应用
中的admin.py内添加
如下:
class BookInfoAdmin(admin.ModelAdmin):
##显示按钮
def buttons(self,obj):
button_html="""<a class="changelink"href="http://127.0.0.1:8000/admin/book/bookinfo/%s/change/">编辑</a>"""%(obj.id)
return mark_safe(button_html)
buttons.short_description="操作"
修改指定字段
在自己创建的应用
中的admin.py内添加
如下:
##list_editable设置列表中可编辑字段
list_editable=('name','autor')
添加搜索框
在自己创建的应用
中的admin.py内添加
如下:
##search_fields设置可搜索字段
search_fields=('name','autor')
设置排序
在自己创建的应用
中的admin.py内添加
如下:
##ordering设置排序方式;-:降序
ordering=['-price']
显示图片
在自己创建的应用
中的admin.py内添加
如下:
##显示图片
def booking(self,obj):
img_html='<img src="/%s"width="40px"height="40px"/>'%(obj.imgsrc)
return mark_safe(img_html)
booking.short_description="图书封面"
list_display设置显示在列表中的字段
显示更多信息
在自己创建的应用
中的admin.py内添加
如下:
#list_display设置显示在列表中的字段
list_display=["id","name","price","autor","imgsrc","booking","buttons"]
生成迁移文件和执行迁移
python .\manage.py makemigrations book
python .\manage.py migrate
启动登录查看
python .\manage.py createsuperuser
按价格排序
使用搜索框
添加新内容