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. Android 源码分析01_AsyncTask

    [参考文献] http://blog.csdn.net/singwhatiwanna/article/details/17596225 /* * Copyright (C) 2008 The Andr ...

  2. Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)

    欢迎转载,转载请注明出处: http://www.cnblogs.com/lanrenxinxin/p/5424554.html 之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯 ...

  3. thinkphp的自动生成

    第一,在index.php里定义 define('BIND_MODULE','Admin'); //自动生成Admin目录下的结构(默认生成IndexController) define('BUILD ...

  4. [CF1082E] Increasing Frequency

    Description 给定一个长度为 \(n\) 的数列 \(a\) ,你可以任意选择一个区间 \([l,r]\) ,并给区间每个数加上一个整数 \(k\) ,求这样一次操作之后数列中最多有多少个数 ...

  5. openssl genrsa

    openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html genrsa用于生成RSA私钥,不会生成公钥,因为公钥提取自私钥,如果需要查 ...

  6. this引用逃逸

    1.什么是This逃逸? 在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,可能会问到该还未被初始化的变量,甚至可能会造成更大严重的问 ...

  7. Ado.net怎么执行存储过程?

    与ADO.Net执行SQL语句的地方只有两点不同1.使用存储过程名代替sql语句2. 使用查询对象SqlCommand,需配置一个CommandType属性 存储过程的执行语法-> exec 存 ...

  8. 【Core】在mvc使用EF

    引用DLL: 继续上一篇的内容我们来添加EF实体: 首先:工具> NuGet程序包管理器>程序包管理器控制台: Install-Package Microsoft.EntityFramew ...

  9. JDK源码解析之Java SPI机制

    1. spi 是什么 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件. 系统设计的各个抽象,往往 ...

  10. php中一个字符占用几个字节?

    先看看字符与字节有什么区别: (一)“字节”的定义 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位. (二)“字符”的定义 字符是指计算机中使用的文字 ...