该系列的博客都是按照这个教程上面的内容整理总结出来的,主要是为了方便自己复习和巩固的。http://www.kancloud.cn/wizardforcel/django-chinese-docs-18/98847。该教程确实不错。

1、启动上面章节的项目:

python manage.py runserver

现在,打开一个浏览器并在本地域名上访问 “/admin/” – 例如 http://127.0.0.1:8000/admin/ 。你将看到管理员的登录界面:  

现在尝试登录进去, 你将看到 Djaong 的管理索引页:

2、使 poll 应用的数据在管理网站中可编辑

  只需要做一件事:我们需要告诉管理网站 Poll 对象要有一个管理界面。为此,我们在你的 polls 目录下创建一个名为 admin.py 的文件,并添加如下内容:

from django.contrib import admin
from polls.models import Poll
admin.site.register(Poll)

通过 admin.site.register(Poll) 注册了 Poll 模型,Django 就能构造一个默认的 表单。通常情况下,你将要自定义管理表单的外观和功能。这样的话你就需要在注册对象 时告诉 Django 对应的配置。让我们来看看如何在编辑表单上给字段重新排序。修改admin.py文件将 admin.site.register(Poll) 这行替换成:

class PollAdmin(admin.ModelAdmin):fields = ['pub_date', 'question']admin.site.register(Poll, PollAdmin)

你将遵循这个模式 – 创建一个模型的管理对象,将它作为 admin.site.register() 方法的第二个参数传入 – 当你需要为一个对象做管理界面配置的时候。

3.刚才所说的有许多字段的表单,你可能想将表单中的字段分割成 fieldsets :

class PollAdmin(admin.ModelAdmin):fieldsets = [(None,               {'fields': ['question']}),('Date information', {'fields': ['pub_date']}),]admin.site.register(Poll, PollAdmin)

4.添加关联对象

现在我们有了 Poll 的管理页面。但是一个 Poll 拥有多个 Choices ,而 该管理页面并没有显示对应的 choices 。

是的。

我们有两种方法来解决这个问题。第一种就像刚才 Poll 那样在管理网站上 注册 Choice 。这很简单:

from polls.models import Choiceadmin.site.register(Choice)

  

具体的操作,可以自己去用鼠标点击看看。

第二种方法:移除对 Choice 模型的 register() 方法调用 。然后,将 Poll 的注册代码 编辑为如下所示:

from django.contrib import admin
from polls.models import Choice, Pollclass ChoiceInline(admin.StackedInline):model = Choiceextra = 3class PollAdmin(admin.ModelAdmin):fieldsets = [(None,               {'fields': ['question']}),('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),]inlines = [ChoiceInline]admin.site.register(Poll, PollAdmin)

这将告诉 Django: “Choice 对象在 Poll 管理页面中被编辑。 默认情况下,提供 3 个 choices 的字段空间。

还有个小问题。为了显示所有关联 Choice 对象的字段需要占用大量的 屏幕空间。为此,Django 提供了一个以表格方式显示内嵌有关联对象的方式; 你只需要将 ChoiceInline 声明改为如下所示:

class ChoiceInline(admin.TabularInline):#...

5.自定义管理界面的变更列表。

现在 Poll 的管理界面看起来不错了,让我们给 “chang list” 页面做些调整 – 显示系统中所有 polls 的页面。下面是现在的样子:

默认情况下, Django 显示的是每个对象 str() 或者__unicode__(self)的结果。但是若是我们能够 显示每个字段的话有时会更有帮助的。要做到这一点,需要使用 list_display 管理选项,这是一个 tuple ,包含了要显示的字段名, 将会以列的形式在该对象的 chang lsit 页上列出来:

class PollAdmin(admin.ModelAdmin):# ...list_display = ('question', 'pub_date')

现在 poll 的变更列表页看起来像这样:

效果类似于下面这样的:

转载于:https://www.cnblogs.com/wyl9527/p/6653196.html

2、django管理网站相关推荐

  1. django启用超级管理员_如何启用和连接Django管理界面

    django启用超级管理员 介绍 (Introduction) If you have followed along in the Django Development series, you've ...

  2. python中型项目---Django框架---图书管理网站的制作-01

    图书管理网站的制作详解(个人学习django框架的笔记) 第01号笔记最终成果图: 当前笔记所完成的网站的功能简介: 1 网页从数据库获得图书名称 2 点击新增按钮后增加一本书,当前名为"流 ...

  3. 基于Django的博客兼学术主页管理网站

    基于Django的博客兼学术主页管理网站 摘要: 本系统基于后端Django框架和前端HTML页面,使用MVT设计模式构建了博客兼学术主页管理网站.该网站具有编写博客.阅读博客.点赞评论其他人博客的博 ...

  4. 【Python编程:从入门到实践】第十八章和第十九章练习题(Django创建网站)

    18-2  简短的条目 :当前, Django 在管理网站或 shell 中显示 Entry 实例时,模型Entry 的方法 __str__() 都在它的末尾加上省略号.请在方法 __str__() ...

  5. Python django旅游网站

    Python django旅游网站 django旅游推荐.风景推荐.风景展示.旅游景点推荐 技术:Python django 数据库:MySQL 前端:html css js 等 涉及到的功能:登录. ...

  6. django企业门户网站系统项目(五)

    接着上一章的内容,我们继续来完善系统,我们接下去的是"公司简介"模块. 在这一模块中我们分为两个页面:企业概况和荣誉资质. 我们在页面的侧边栏可以选择那一页的内容. 一.企业概况 ...

  7. django管理后台修改管理系统名称和应用名称的方法

    1.django管理后台修改管理系统名称的方法 打开任何一个应用目录下的admin.py文件,在文件末尾添加代码: admin.site.site_header='这是一个网站后台管理系统' admi ...

  8. Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)...

    先停止tomcat服务 1.进入apache-tomcat-7.0.68/conf/Catalina/localhost(如果之前还都没有启动过tomcat,是不会有此目录的,先启动一次再关闭,会自动 ...

  9. celery的log如何传递给django,由django管理

    celery自己管理log目录 celery worker --autoscale=4,1 --app=erebus.celeryapp:app -l info -f /home/admin/outp ...

最新文章

  1. 亚马逊:从零售商向科技公司的质变
  2. 运动控制器对比:Windows MR、Rift、Vive、PSVR(译文修正版)
  3. 华为存储S58000T-硬盘更换
  4. 浅谈创业性公司的发展
  5. P2280-激光炸弹【二维前缀和】
  6. Telnet初试(本地测试)
  7. python合并csv文件、并利用结果进行计算_python合并csv文件
  8. UI网页头部设计模板素材|这么多讲究,你知道吗?
  9. The stacking context
  10. 乱码问题_win7 64位系统出现字体乱码的问题
  11. ideal如何用标签输出_实战|如何使用JavaScript访问设备前后摄像头
  12. [置顶] iOs LightBlue与cc2540 BLE开发板之间的通信实验 [原创, 多图]
  13. 力士乐驱动器原理图_力士乐驱动器参考手册大全
  14. sql查询日期格式化
  15. 如何设置论文目录左对齐?
  16. 谷歌VR展示360度全景图
  17. IE主页被篡改,修改“Internet 选项”也无法解决时的解决方法
  18. git-secrets安装教程
  19. Python dict字典基本操作
  20. 直线---科林明伦杯H题

热门文章

  1. Chisel 学习笔记(四)
  2. 20170908校内训练
  3. 第一个极小的机器学习的应用
  4. 五笔常用字、难拆字 拆解图文版
  5. Ajax框架,DWR介绍,应用,样例
  6. Adroid真机调试
  7. 查询方法android的CursorLoader用法小结
  8. a data source instance has not been supplied for the datasource 'dataset1'. rdlc
  9. TensorFlow 调用预训练好的模型—— Python 实现
  10. datatables 获取 pageLength 和 pageStart,重新获取table数据