Django的站点管理

创建超级管理员命令(密码要8位)

python manage.py createsuperuser

进入站点管理

注册模型类

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo admin.site.register(GameInfo)

运行结果(可以直接在站点管理添加数据)

admin.py代码

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo # 第一种自定义的站点管理的方法
# class GameInfoAdmin(admin.ModelAdmin):
# list_per_page = 2
#
# # 注册自定义的站点管理类
# admin.site.register(GameInfo, GameInfoAdmin) # 装饰器的自定义站点管理方法
@admin.register(GameInfo)
class GameInfoAdmin(admin.ModelAdmin):
list_per_page = 2

分页

list_per_page = 2

设置顶部和底部显示

actions_on_top = True
actions_on_bottom = True

自定义显示地段

list_display = ['id', 'gtitle', 'game_date','game_download']

右侧栏过滤器

list_filter = ['id','gtitle']

搜索框

search_fields = ['id']

调整页面的编辑展示

fields = ['gtitle','game_date']

分组显示

fieldsets = (
('基本', {'fields': ['gtitle', 'game_date']}),
('高级', {
'fields': ['game_download', 'gcommnet'],
'classes': ('collapse',) # 是否折叠显示
})
)

关联对象

admin.py中创建一个HeroInfoInline类

class HeroInfoInline(admin.StackedInline):
  # 要编辑的对象
model = HeroInfo
  # 要附加的编辑数量
extra = 1

admin.py中的GameInfoAdmin类添加

inlines = [HeroInfoInline]

运行结果

可以用表格的形式嵌入

class HeroInfoInline(admin.TabularInline):
model = HeroInfo
extra = 1

运行结果

调整站点信息

  • admin.site.site_header 设置网站页头
  • admin.site.site_title 设置页面标题
  • admin.site.index_title 设置首页标语
admin.site.site_header = '游戏中心'
admin.site.site_title = 'tx游戏'
admin.site.index_title = '欢迎来到tx游戏'

运行结果

每个应用设置独立的名字

在apps.py中设置应用设置的名字

代码

from django.apps import AppConfig

class DjangoTestConfig(AppConfig):
name = 'django_test'
verbose_name = '游戏中心'

运行结果

admin.py代码

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo,HeroInfo # 第一种自定义的站点管理的方法
# class GameInfoAdmin(admin.ModelAdmin):
# list_per_page = 2
#
# # 注册自定义的站点管理类
# admin.site.register(GameInfo, GameInfoAdmin) class HeroInfoInline(admin.TabularInline):
model = HeroInfo
extra = 1 # 装饰器的自定义站点管理方法
@admin.register(GameInfo)
class GameInfoAdmin(admin.ModelAdmin):
# 分页
list_per_page = 2
# 设置顶部和底部
actions_on_bottom = True
actions_on_top = True
# 自定义显示的字段
list_display = ['id', 'gtitle', 'game_date','game_download']
# 过滤器
list_filter = ['id','gtitle']
# 搜索框
search_fields = ['id']
# 编辑显示字段
# fields = ['gtitle','game_date']
# 分组显示
fieldsets = (
('基本', {'fields': ['gtitle', 'game_date']}),
('高级', {
'fields': ['game_download', 'gcommnet'],
'classes': ('collapse',) # 是否折叠显示
})
) inlines = [HeroInfoInline] @admin.register(HeroInfo)
class HeroInfoAdmin(admin.ModelAdmin):
pass admin.site.site_header = '游戏中心'
admin.site.site_title = 'tx游戏'
admin.site.index_title = '欢迎来到tx游戏'

上传图片

安装图片操作包

pip install Pillow

配置

模型类添加图片字段

# Django是主目录或者自定义其他目录(static_files)
image = models.ImageField(upload_to='Django', verbose_name='图片' ,null=True)

结果

Django框架的使用教程--站点的管理[七]的更多相关文章

  1. Django框架的使用教程--环境的搭建和项目的创建[一]

    Django环境的搭建 Django 常用的命令 # 创建一个名为Django_test子应用 python manage.py startapp Django_test # 生成迁移文件 pytho ...

  2. Django框架的使用教程--mysql数据库[三]

    Django的数据库 1.在Django_test下的view.py里面model定义模型 from django.db import models # Create your models here ...

  3. Django框架的使用教程--Cookie-Session[五]

    Cookie cookie是存储在浏览器中的一段文本信息,下次同一网站请求,就会发送该cookie给服务器,一般的浏览器都有启动cookie,用cookie存储信息,最好不要存储密码,cookie也有 ...

  4. Django框架的使用教程--路由-请求-响应[四]

    路由 路由可以定义在工程的目录下(看你的需求),也可以定义在各个应用中来保存应用的路由,用主路文件urls中使用include()包含各个应用的子路由的数据 路由的解析顺序 Django接收到请求后, ...

  5. Django框架的使用教程--视图和路由[二]

    视图和路由 1.创建一个django_test应用 2.setting中设置django_test INSTALLED_APPS = [ 'django.contrib.admin', 'django ...

  6. Django框架的使用教程--类视图-中间间-模板[六]

    类视图 类视图的使用 视图函数 class class_view(View): """类视图""" def get(self, reques ...

  7. Django框架学习-01Django介绍

    01-Django介绍 02-HTTP协议介绍 01-Django介绍 1.什么是Web框架? 随着Web最新发展趋势的不断升级,Web项目开发也越来越难,而且需要花费更多的开发时间.所以,Web程序 ...

  8. django框架-Admin管理站点搭建

    在django框架中,admin基本上算是已经写好了的,拿过来进行简单的处理即可以使用的,相对于flask来说已经是相当的便捷了. 在使用中,步骤如下: 1.管理界面本地化:即将英文标题等的变成中文, ...

  9. Django框架 之 admin管理工具(组件使用)

    Django框架 之 admin管理工具(组件使用) 浏览目录 激活管理工具 使用管理工具 admin的定制 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理 ...

随机推荐

  1. 213. Orchard学习 二 3、001.IOrchardHost 与Autofac

    继前篇,在Orchard Application_Start() -> HostInitialization() 里,调用 OrchardStarter.CreateHost创建IOrchard ...

  2. Android Studio 快捷键总结(OS X)

      Action shortcut key 解释 跳转到类 cmd+0   跳转到文件 cmd+shift+0   跳转到函数 cmd+alt+0   最近打开的文件 cmd+e   最近编辑的文件 ...

  3. redis.properties

    #### env:${env} redis.maxIdle= ##最小空闲数 redis.minIdle= ##最大连接数:能够同时建立的“最大链接个数” redis.maxTotal= #每次最大连 ...

  4. 从逻辑思维中学习CSS,从宽高说起

    从宽高说起 从宽高说起,我们知道一个物体的大小是由长.宽.高三个方向的尺寸决定的,但是你想啊电脑显示器是一个平面的,而不是3维,另因网页大部分情况下只需要使用到2维,所以为了简单在CSS中只有宽和高的 ...

  5. leetcode — zigzag-conversion

    /** * Source : https://oj.leetcode.com/problems/zigzag-conversion/ * * Created by lverpeng on 2017/6 ...

  6. SpringMvc @ResponseBody字符串中文乱码原因及解决方案

    今天突然发现一个问题,后来在网上也找到了很多解决思路,自己也查找到了问题所在,记录一下. @RequestMapping(value = "/demo1") @ResponseBo ...

  7. kubernetes系列(一)安装和配置

    谈到kubernetes(或者说k8s)不得不提到云计算.虚拟化以及容器技术,相关介绍网上一大堆,不再赘述.而kubernetes的出现就是为了高效的管理云端运行的docker容器. 环境 docke ...

  8. Linux中重命名乱码文件

    Linux下,如何将一个乱码的文件进行重命名 方法一: 命令格式:mv $(ls |egrep "[^a-zA-Z0-9.-]") tandao.tx [root@nb o]# l ...

  9. [PHP] 算法-合并两个有序链表为一个有序链表的PHP实现

    合并两个有序的链表为一个有序的链表: 类似归并排序中合并两个数组的部分 1.遍历链表1和链表2,比较链表1和2中的元素大小 2.如果链表1结点大于链表2的结点,该结点放入第三方链表 3.链表1往下走一 ...

  10. IDEA出现Cannot resolve symbol "xxx"(无法解析符号)

    在导入一些包的时候出现报错 1.File->Invalidate Caches/Restart 清除缓存并重启 idea2.检查pom文件中的依赖关系是否正确3.maven -> Reim ...