Django的管理面板默认是不开启的,所以我们需要进行一些设置工作
1、在INSTALLED_APPS里面把django.contrib.admin前面的注释去掉
2、运行
python manage.py syncdb
,建立和管理有关的表
3、编辑mysite/urls.py文件,设置管理面板的url路由规则
from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^现在启动服务<div class="blockcode"><blockquote>python manage.py runserver
访问http://127.0.0.1:8000/admin/会看到管理登录页面
输入用户名和密码,就在上一节创建的超级用户
当然现在还是看不到我们添加的投票管理项
在polls目录下面添加admin.py页面,内容如下
from django.contrib import admin from polls.models import Poll admin.site.register(Poll)
django会自动重新加载修改了的文件,但如果是新添加的文件,django是不会加载的,所以需要我们重启服务
现在再看看界面
这个是投票列表页面,基本的what's up 是我们添加的项
点击 what's up编辑看看
自定义投票管理表单页面
现在我们看到的投票编辑页面是根据我们定义的模型自动生成的。现在我们看看django是如何生成poll管理页面的。
在刚才添加的admin.py页面里面,用如下内容替换刚才输入的
class PollAdmin(admin.ModelAdmin): fields = ['pub_date', 'question'] admin.site.register(Poll, PollAdmin)
看看页面有什么变化
再来看一个
class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question']}), ('Date information', {'fields': ['pub_date']}), ] admin.site.register(Poll, PollAdmin)
这种是给分组了,第一个字段为每个 fieldsets 的标头
django还提供给每一个 fieldset设置css类,
class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ]
现在已经在管理面板中看到poll了,可是它的选项在哪里?
第一种方法和显示Poll一样
from polls.models import Choice admin.site.register(Choice)
刷新看看,到添加页面看看
django默认会把有外键的字段用 select下拉框来显示
现在不管是添加投票项还是选项都是在单独的页面吧,如果要想在投票页面中直接就可以添加选项要怎么办?
from django.contrib import admin from polls.models import Choice, Poll class ChoiceInline(admin.StackedInline): model = Choice extra = 3 class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ] inlines = [ChoiceInline] admin.site.register(Poll, PollAdmin)
意思是直接把Choice嵌入到poll管理页面来编辑,默认添加3个choice,再打开poll 添加页面看看
现在每次编辑返回查看的时候都会在下面多出3个空的选项,在最下面的一个选项下面有“Add another Choice”,点击后会在下面自动添加一个选项
修改一下 ChoiceInline看看
class ChoiceInline(admin.TabularInline): #...
StackedInline修改为TabularInline
显示样式从排列样式变成了表格样式。
自定义Poll管理列表显示样式
默认情况下,会列出第个对象的str(),如果要想显示更多的列就得需要list_display来实现
class PollAdmin(admin.ModelAdmin): # ... list_display = ('question', 'pub_date')
我们也把上次自定义添加的函数也加上
class PollAdmin(admin.ModelAdmin): # ... list_display = ('question', 'pub_date', 'was_published_recently')
点击表头可以排序,可是was_published_recently这个列却不会。因为这个现在函数不支持。另外这个列的名字默认就是函数的名称,显示的内容就是函数输出的结果。
再重新编辑一下polls/models.py
class Poll(models.Model): # ... def was_published_recently(self): return self.pub_date >= timezone.now() - datetime.timedelta(days=1) was_published_recently.admin_order_field = 'pub_date' was_published_recently.boolean = True was_published_recently.short_description = 'Published recently?'
再次编辑polls/admin.py,在poll管理列表中添加一个过滤面板 在PollAdmin中添加如下代码
list_filter = ['pub_date']
django会根据过滤条件列的类型自动生成一些选项。
还可以添加上搜索框
search_fields = ['question']
还可以加上时期类型的选择
date_hierarchy = 'pub_date'
会在数据列表上面加一个分层的日期选项。具体效果可以运行看看
接着再说一点有关模板的东西吧,如果想把左上角的logo换成我们自己的要怎么做呢。
1、在你的项目中新建 templates 目录
2、把django默认的后面管理模板,按一些的目录放到我们新建的templates目录下面,具体如下设置
在django的的源码中django/contrib/admin/templates 把admin/base_site.html文件按同样的目录复制到新建的templates中即在templates中建立admin子目录,然后把base_site.html复制到里面,修改里面的
Django site admin
字符串为你要的
3、修改配置文件
TEMPLATE_DIRS = ( '/path/to/mysite/templates', # 这里写你的目录,只能是绝对路径 )
明天再继续,写一次有点长了,下一篇说说模板了
相关推荐
python开发基于Django的投票系统源代码python开发基于Django的投票系统源代码python开发基于Django的投票系统源代码python开发基于Django的投票系统源代码python开发基于Django的投票系统源代码python开发基于Django...
最新技术python web使用django框架做的投票系统 运行环境 django+python+sublime text3+sqlite 项目技术(必填) django+python+sublime text3+navicat Premium+html+jquery 数据库文件 放于mysite根目录下的db.sqlite...
python开发基于Django的投票系统源码(高分项目).zip个人经导师指导并认可通过的高分毕业设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大...
基于python+Django框架的调查投票系统源码(课程设计).zip 基于python+Django框架的调查投票系统源码(课程设计).zip 基于python+Django框架的调查投票系统源码(课程设计).zip 【备注】 该项目代码主要针对计算机、...
在本项目中,我们讨论的是一个基于Python的Django框架构建的投票系统。这个系统提供了完整的源码,适合初学者和开发者深入理解Django的工作原理以及如何构建动态Web应用。让我们详细探讨一下其中涉及的关键知识点。 ...
基于python框架django开发的在线投票系统源码+文档说明基于python框架django开发的在线投票系统源码+文档说明基于python框架django开发的在线投票系统源码+文档说明基于python框架django开发的在线投票系统源码+文档...
Django框架投票系统及图表功能及源码 项目简介 这是一个使用Python Django框架开发的投票系统,使用JavaScript图表API构建投票结果的交互式图表。它提供了登录、注册和对管理员添加的投票进行投票的功能。 系统...
在本项目中,我们主要探讨的是使用Python的Django框架开发一个投票系统。Django是一个高级的、开源的Web框架,它遵循模型-视图-控制器(MVC)的设计模式,能够快速高效地构建功能丰富的Web应用。这个压缩包包含了...
Python毕业设计-基于Django的投票系统的设计与实现+使用说明+全部资料(优秀项目).zipPython毕业设计-基于Django的投票系统的设计与实现+使用说明+全部资料(优秀项目).zip 【备注】 1、该资源内项目代码都经过...
在本教程中,我们将深入探讨如何使用Python的Django框架构建一个基础的投票系统。Django是一个强大且灵活的Web开发框架,它提供了许多内置功能,使得开发过程更加高效。让我们一起逐步了解如何实现这个投票系统。 ...
【Python Django Web版投票系统详解】 在Web开发领域,Python的Django框架因其高效、安全和易用性而备受推崇。本项目是一个基于Django框架构建的Web版投票系统,旨在提供一个用户友好的界面,让用户参与投票并确保...
[8]2019年12月2日,Django 3. 0发布 Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库...
基于Django框架的调查投票系统python实现源码.zip基于Django框架的调查投票系统python实现源码.zip基于Django框架的调查投票系统python实现源码.zip基于Django框架的调查投票系统python实现源码.zip基于Django框架的...
该项目是一款基于Python和Django框架的投票系统学习型设计源码,共计32个文件,涵盖12个pyc文件、11个Python源文件、4个HTML文件、1个CSS文件以及其他相关文件。该源码旨在帮助开发者学习Django框架,特别适用于那些...
在线投票系统 1.客户端(网页形式) a.登录、注册密码(需要有学号验证功能:注册学号和管理员导入学号需进行验证) b.投票功能(单选) 2.服务端(网页形式) a.管理员登录认证 b.学生信息导入(文件形式导入,内容...
【资源说明】基于Django框架的简易的调查投票系统python源码.zip基于Django框架的简易的调查投票系统python源码.zip基于Django框架的简易的调查投票系统python源码.zip基于Django框架的简易的调查投票系统python源码...
毕业设计:Python基于Django框架课堂投票系统的设计与实现(源码 + 数据库 + 说明文档) 第2章 需求分析 6 2.1可行性分析 6 1.4.1硬件可行性 7 1.4.2技术可行性 7 1.4.3安全可行性 7 1.4.4经济可行性 7 2.2 系统需求...
标题中的“Python在线投票系统基于django+bootstrap的在线投票系统源代码+数据库”指的是一个使用Python编程语言,结合Django框架和Bootstrap前端UI库开发的在线投票应用。这个系统不仅包含了源代码,还附带了数据库...