angrykola

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

启用管理网站:

默认情况下 Django 管理网站是不启用的 – 它是可选的。 要启用管理网站,需要做三件事:

  1. 在 INSTALLED_APPS 设置中取消 "django.contrib.admin" 的注释。

  2. 运行 python manage.py syncdb 命令。既然你添加了新应用到 INSTALLED_APPS 中,数据库表就需要更新。

  3. 编辑你的 mysite/urls.py 文件并且将有关管理的行取消注释 – 共有三行取消了注释。该文件是 URLconf ;

from django.conf.urls import patterns, include, url
from django.contrib import admin  #这三行的注释要解除掉
admin.autodiscover()                     #这一行    

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)), #解除注释
)

然后启动服务器 python manage.py runserver 进入  http://127.0.0.1:8000/admin/  就可以看到一个管理员登录界面了,使用最开始创建的超级用户账户登录进去即可。

修改界面语言:

如果母语不是英语,而你不想用它来配置你的浏览器,你可以做一个快速更改来观察Django管理工具是否被翻译成你想要的语言。 仅需添 加“django.middleware.locale.LocaleMiddleware” 到  MIDDLEWARE_CLASSES 设置中,并确保它在“django.contrib.sessions.middleware.SessionMiddleware” 之后 

#seeting.py
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    ...
    'django.middleware.locale.LocaleMiddleware',
)

 4.编写admin文件,首先在polls 目录下创建一个名为admin.py 的文件:

from django.contrib import admin
from polls.models import Poll

admin.site.register(Poll)

这样你的网站管理系统中看到我们所编写的应用数据

最后的完整版:

# -*- coding: utf-8 -*-
from django.contrib import admin
from polls.models import *

#class ChoiceInline(admin.TabularInline):  #这个是设置成为表格视图进行编辑 
class ChoiceInline(admin.StackedInline):
    model = Choice
    extra = 3

class PollAdmin(admin.ModelAdmin):
    fieldsets = [            #在编辑表单上给字段重新排序,将表单中的字段分割成 fieldsets  
    ('问题', {'fields':['question']}),
    ('时间', {'fields':['pub_date'],'classes': ['collapse']}), #‘collaspse’ 可以设置显示或者收缩
]
    inlines = [ChoiceInline]      #调用ChoiceInline,这样就可以同时批量进行编辑
    list_display = ('question','pub_date') #这是一个 tuple ,包含了要显示的字段名, 将会以列的形式在该对象的 chang lsit 页上列出来
    list_filter = ['pub_date']  #增加了一个 “筛选” 的侧边栏,让人们通过指定的内容进行筛选
    search_fields = ['question']  #添加一个搜索框,搜索对象为question
    date_hierarchy = 'pub_date'  #在 change list 页的顶部增加了基于日期的分层导航功能。 在最顶层,显示所有可用年份。然后可钻取到月份,最终到天。

class ChoiceAdmin(admin.ModelAdmin):
    list_display = ('choice_text','votes','poll')
    search_fields = ['choice_text']

admin.site.register(Poll, PollAdmin)
admin.site.register(Choice, ChoiceAdmin)  
'''
admin.site.register()第一个参数为你所需要管理的对象,第二个为你为该对象所配置的界面配置。
'''

 

posted on 2013-11-28 15:30  kolaman  阅读(227)  评论(0)    收藏  举报