problem description:

1,向你的模型添加admin metadata 并不是所有的模型都可以或者应该被admin用户编辑,所以你需要标记那些需要管理界面的模型 上一章的Book模型添加一个管理界面的方法就是:

class Book(models.Model): 
title = models.CharField(maxlength=100) 
authors = models.ManyToManyField(Author) 
publisher = models.ForeignKey(Publisher) 
publication_date = models.DateField() 

class Admin: 
pass 

Admin声明标记这个类拥有一个管理界面,在Admin之下你可以配置许多选项 目前我们采用默认值,所以我们使用pass来表示Admin类是空的 如果你正在按这个例子写自己的代码,现在给Publisher和Author类添加Admin声明是个好主意 2,安装admin模型,简单的把"django.contrib.admin"添加到你的INSTALLED_APPS设置里 然后运行python manage.py syncdb来安装admin使用的额外的表 注意,在你第一次运行syncdb时,你很可能被问起是否创建一个superuser 如果那时你没有创建superuser,你需要运行djang/contrib/auth/bin/create_superuser.py 来创建一个admin用户,否则你就不能登录到管理界面里去 3,把URL模式添加到urls.py,如果仍在使用startproject创建的工程,admin的URL模式可能 已经在那儿了,但是被注释掉了,你的URL模式应该像这样:

from django.conf.urls.defaults import * 

urlpatterns = patterns('', 
(r'^admin/', include('django.contrib.admin.urls')), 
) 

就这样,现在运行python manage.py runserver来启动服务器,你将看到如下信息: Validating models… 0 errors found.

Django version 0.96-pre, using settings ‘mysite.settings’ Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

但当我进入http://127.0.0.1:8000/admin/时。。。。就会出现

ImportError at /admin/

No module named urls

错误。。。怎么解决呢。。。请各位高手帮帮忙吧!

我看到在我的django.contrib.admin 目录下没有urls.py文件啊!

Solution:

看的是以前的文档,装的最新版django。 强烈建议在做实验的时候,所看的文档与安装的环境版本一致。 不同的版本,其中的不同的地方还是很多的!

激活管理界面:

1、给需要管理的数据表模块添加admin配置 方式: 新建一个 admin.py Code:

from django.contrib import admin
from models import Publisher,Author,Book

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)

2、新增配置信息

#1.0新增 admin 时遇到

TEMPLATE_CONTEXT_PROCESSORS = ( 
                               'django.core.context_processors.auth', 
                               ) 

修改INSTALLED_APPS #添加模型位置

INSTALLED_APPS = (
    #'django.contrib.auth',
    #'django.contrib.contenttypes',
    #'django.contrib.sessions',
    #'django.contrib.sites',
    'mysite.books',
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
)

3、urls.py 新增:

from django.contrib import admin
admin.autodiscover()
(r'^admin/(.*)', admin.site.root),

关于admin界面的汉化其实很简单,在setting.py里将LANGUAGE_CODE从en-us改为zh-CN