2011-10-17 11 views
2

を返す:Djangoの管理者は、すべてのアプリケーション、モデルを示しているが、管理モデルのページは、これらのURLが働く404

/admin 
/admin/appname 

しかし、これはのために、ユーザー、グループ、またはサイトを含む任意のモデル、機能しません。

を例えば
/admin/appname/modelname 

/admin/auth作品やGroups、そしてUsersモデルを示しているが、私はadmin/auth/userに移動し、いずれかのモデルをクリックすると、私は404が見つからないというエラーを受け取ります。

私はまず、urls.pyでおそらく問題であると想定していたので、管理者以外のすべてをコメントアウトしました。違いはありませんでした。ここに私のurls.pyファイルの:

from django.conf.urls.defaults import * 
from django.contrib import admin 

urlpatterns = patterns('', 
    # main admin 
    (r'^admin/', include(admin.site.urls)), 
) 
admin.autodiscover() 

ここに私のインストール済みのアプリケーションはsettings.pyに、です:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'south', 
) 

私はもちろん、すでに、syncdbを実行し、サーバーをシャットダウン(だけでなく、アプリケーションのための南の移行を実行しようとしています南を使用していた)、再度runserverを使用してください。違いはありません。

私もdjango(同じバージョン、1.3)をアンインストールして再インストールしました。

  1. ^admin/ ^$ [name='index']
  2. ^admin/ ^logout/$ [name='logout']
  3. ^admin/ ^password_change/$ [name='password_change']
  4. ^admin/ ^password_change/done/$ [name='password_change_done']
  5. ^admin/ ^jsi18n/$ [name='jsi18n']
  6. Djangoはこの順で、これらのURLパターンを試してみました

  7. ^admin/ ^(?P<app_label>\w+)/$ [name='app_list']

現在のURL、admin/auth/user/は、これらのいずれかと一致しませんでした。

+0

'admin.autodiscover()'をurls.pyファイルの先頭、インポート直後に移動するとどうなりますか? –

+0

@DanielRoseman:um ..それは働いて、ありがとう!しかし、なぜ? – BenjaminGolder

答えて

4

私は私のコメントで述べたように、あなたは明らかに前にurlpatternsタプルに含める場所をadmin.autodiscover()ラインを持っている必要があります。

これは、各アプリケーション/モデルのURLを計算するコード(admin.sites.AdminSite.get_urls)は、実行前に管理者用に既に登録されているモデルによって異なります。そうでない場合、関連するURLは作成されません。