1

Django的文档提供了一种安装admin应用程序的简单方法。 它假定文件的结构如下:Django中的自定义管理界面

mysite/ 
    manage.py 
    mysite/ 
      settings.py #adding `admin` under `INSTALLED_APPS` 
      __init__.py 
      urls.py #adding urls 
      wsgi.py 
    myapp/ 
    __init__.py 
    admin.py #creating this file 
    models.py 
    views.py 

我的问题是如何让admin接口工作,如果我的结构如下:

mysite/ 
     manage.py 
     settings.py 
     __init__.py 
     urls.py 
     myapp/ 
      __init__.py 
      forms.py 
      models.py 
      views.py 

会有怎样的不同变化,我必须合并才能使admin接口正常工作。 [我的其他应用程序正在工作]。 我已阅读并多次阅读文档。 我正在使用Django1.4

编辑#1

我上运行localhost:8000/admin/收到此错误:

error at /admin/ 
unknown specifier: ?P[ 

Whole error here

urls.py文件具有行[如文档]:

from django.contrib import admin 
admin.autodiscover() 
urlpatterns = patterns('', 
    (r'^admin/(.*)', include(admin.site.urls)), 
) 

admin.py文件中的myapp文件夹具有代码:

import models 
from django.contrib import admin 

class PostAdmin(admin.ModelAdmin): 
    prepopulated_fields = {"slug": ("title",)} 

admin.site.register(models.Article, PostAdmin) 
+0

你试过了吗?有什么问题?真的应该没有问题 –

+0

@JoshSmeaton:请参阅我编辑的问题。 – xan

+0

@JoshSmeaton:整个错误是:http://dpaste.com/852582/ – xan

回答

1

这是你应该如何包括管理网址:

url(r'^admin/', include(admin.site.urls)), 

documentation显示了这一点。

你得到从re Python模块直来了,抱怨URL的这一部分的错误:

?P[ 

的网址,你已经张贴在展示这下您的评论:

url(r'^(?P[-a-zA-Z0-9]+)/?$', 'myapp.views.getPost') 

尝试通过给比赛组的名称改变这种网址:

url(r'^(?P<slug>[-a-zA-Z0-9]+)/?$', 'myapp.views.getPost') 

并在您的getPost视图中,包含一个slug参数。

+0

仍然是一样的错误。我完全'urls.py'文件是: '从django.conf.urls.defaults导入* 从django.conf.urls进口模式,包括URL 从django.contrib中导入管理 admin.autodiscover( ) urlpatterns = patterns('', url(r'^ $','myapp.views。(r'^(?P [-a-zA-Z0-9] +)/?$','myapp.views.getPost'), \t(r'^ accounts /'), \t ,包括('registration.backends.default.urls')), (r'^ admin /',include(admin.site.urls)), ) ' – xan

+0

所有其他应用程序都正常工作。 – xan

+0

@xan,看看我的更新。我认为你的其他网址是问题。有一个正则表达式包含'?P ['这是失败的。 –