django学习(3)---书写第一个应用(app)第二部分
2010-08-11 23:46
615 查看
这篇文章接第一部分,原文地址http://docs.djangoproject.com/en/1.2/intro/tutorial02/#intro-tutorial02
1.激活admin站点。
要激活admin站点需要做三件事情
1>在settings.py的INSTALLED_APPS里面添加"django.contrib.admin"
2>运行manage.py syncdb命令
3>编辑mysite/urls.py文件,将下列三行中的注释去掉。
再看效果:
django在fieldsets里面还提供了一个额外的class
看看效果
5。添加关联对象
继续修改admin.py,
2>将base_site.html文件(位于django的安装路径下django/contrib/admin/templates/admin/)拷贝到d:\mysite\templates\admin目录下(注意,这里有一个admin子目录)。然后编辑该目录下base_site.html即可
上图看效果:
同时我们也可以定制admin的index页面,我们这次要做的是把django/contrib/admin/templates/admin/index.html拷贝到d:\mysite\templates\admin,然后进行编辑。原文件当中有一个app_list,app_list就是在django所安装的所有app。
1.激活admin站点。
要激活admin站点需要做三件事情
1>在settings.py的INSTALLED_APPS里面添加"django.contrib.admin"
2>运行manage.py syncdb命令
3>编辑mysite/urls.py文件,将下列三行中的注释去掉。
http://127.0.0.1/admin/,我们将会看到admin的登录界面 如果按照第一部分做了,用第一部分的超级用户名,密码登录(如果第一部分没有创建,也可以用manage.py createsuperuser创建一个用户登录)。django的admin主页如下: 3.将我们的poll app加入到admin管理界面来 在mysite/polls目录下,新建admin.py文件,使其内容如下#coding:cp936 from mysite.polls.models import Poll,Choice from django.contrib import admin admin.site.register(Poll) admin.site.register(Choice)
这时候,就会在admin的管理界面出现对应的Poll和Choice
我们可以在这里对我们的Poll和Choice进行增删查改操作。
4。改制(定制)admin的form
我们接着修改mysite/polls/admin.py文件,使其看起来如下:admin.site.register(Poll,PollAdmin)
修改前
看看我们修改后的效果
我们继续用fieldset修改一下:
[code]#coding:cp936
from mysite.polls.models import Poll,Choice
from django.contrib import admin
class PollAdmin(admin.ModelAdmin):
fieldsets=[
(None,{'fields':['question']}),
('Date information',{'fields':['pub_date']}),
]
admin.site.register(Poll,PollAdmin)
再看效果:
django在fieldsets里面还提供了一个额外的class
"classes":['collapse']}), ] admin.site.register(Poll,PollAdmin)
看看效果
5。添加关联对象
继续修改admin.py,
 ] 在上面的form中,Poll下拉列表框是数据库中所有的Poll,django知道在ForeignKey在admin当中用<select>显示。 当我们点击"Add Another",就会弹出一个"Add poll"窗口.如果你在这个弹出窗口添加了一个poll,django将会把这个poll保存到数据库并且作为choice关联的poll。 这种显示方式,跟我们的日常生活中不一样,我们一般都是把poll列出,然后下面对应的choice信息。我们现在更改一下admin.py#coding:cp936 from mysite.polls.models import Poll,Choice from django.contrib import admin class ChoiceInline(admin.StackedInline): model=Choice #extra是再额外的列出的数目 extra=1 class PollAdmin(admin.ModelAdmin): fieldsets=[ (None,{'fields':['question']}), ('Date information',{'fields':['pub_date'],"classes":['collapse']}), ] inlines=[ChoiceInline]
还是直接看效果:
你也可以将admin.py里面的StackedInline替换为TabularInline看看效果。
6。定制admin的change列表
我们首先看一下修改前是什么模样
修改admin.py看看效果  ] [code]class Poll(models.Model): ........... def was_published_today(self): return self.pub_date.date()==datetime.datetime.today() was_published_today.short_description="Published today?"
效果图
我们还可以添加其他的来定制change列表.
如search_fields=['question',],list_filter=["pub_date"],将这些代码添加到mysite/polls/admin.pysearch_fields=['question',] date_hierarchy="pub_date"
效果如下
 ]
1>修改settings.py里的TEMPLATE_DIRS,TEMPLATE_DIRS是一些目录的元组,这些目录是django模板的查找路径,我们修改
TEMPLATE_DIRS,使其内容如下:
TEMPLATE_DIRS = (
"d:/mysite/templates",
)
2>将base_site.html文件(位于django的安装路径下django/contrib/admin/templates/admin/)拷贝到d:\mysite\templates\admin目录下(注意,这里有一个admin子目录)。然后编辑该目录下base_site.html即可
上图看效果:
同时我们也可以定制admin的index页面,我们这次要做的是把django/contrib/admin/templates/admin/index.html拷贝到d:\mysite\templates\admin,然后进行编辑。原文件当中有一个app_list,app_list就是在django所安装的所有app。
相关文章推荐
- django学习(2)---书写第一个应用(app)第一部分
- 编写第一个Django应用:第二部分
- Django tutorial(2)【翻译】编写第一个Django app,第二部分——创建模型和使用模型
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第二部分(Page 7)
- 编写你的第一个Django应用, 第二部分 - Django 1.11 教程
- 【翻译】编写第一个Django app,第二部分——创建模型和使用模型
- python-django学习(二)第一个app实现
- 【翻译】编写第一个Django app,第三部分——玩转模型层的API
- 【翻译】编写第一个Django app,第五部分——自定义管理员功能
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第三部分(Page 8)
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第四部分(Page 9)
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App
- 【翻译】编写第一个Django app,第四部分——初控Django的管理员功能
- django 1.8 官方文档翻译: 1-2-1 编写你的第一个Django应用,第1部分
- Django tutorial(3) 【翻译】编写第一个Django app,第三部分——玩转模型层的API
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App
- django 1.8 官方文档翻译: 1-2-2 编写你的第一个Django应用,第2部分
- Django学习——开发你的第一个Django应用1
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App