django Admin管理界面的激活方法,The Django Admin Site problem(No module named urls)

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

2 thoughts on “django Admin管理界面的激活方法,The Django Admin Site problem(No module named urls)

  1. 你好,我做第一个django小小程序,一个很小的blog,遇到个难题,和群里的朋友讨论了很久还不

    知道怎么解决,我要用它做晋级演说,所以我要尽快,你能不能帮我看一下,只有几个简单步骤,

    我预备把它做成教程分享的,所以先以教程的样式写的,您照着看一遍也许就看出问题了,谢谢!

    !!

    word文档下载链接
    http://mail.qq.com/cgi-bin/ftnExs_download?

    k=6b3331326498c6cb4b9d016e42300a1b0650005351000e051d565451551d0c5109001c5053060b190106

    040601085c0606550151641638fa84fedb81ad1015145459505c035f18050084e7e4b7e7ce87c6e18a8a92

    52545b571d555d073005&t=exs_ftn_download&code=0312d084

发表评论

电子邮件地址不会被公开。 必填项已用*标注