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 ['這是失敗的。 –