0

これが私の設定です。Dreamhost、Python2.4でDjangoバージョン1.1.1を使用しています。私が抱えている問題は、単純なアプリを作成し、admin.autodiscover()を有効にすると、Djangoが例外をスローすることです。私のセットアップ:

from django.conf.urls.defaults import *
from testapp.views import HelloWorld

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^HelloWorld/$', HelloWorld),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
)

私のsettings.pyは次のようになります:

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.admindocs',
'testapp',
)

私のtestapp.viewsは次のようになります:

from django.http import HttpResponse

def HelloWorld(request):
    return HttpResponse("Hello world")

admin.autodiscover()をコメントアウトすると、HelloWorldのビューにアクセスできます。admin.autodiscover()を有効にすると、Djangoはトラップできない例外をスローします。

なぜこれが起こっているのか、そしてそれを修正するために私ができることを誰かが知っていますか?

4

3 に答える 3

4

アプリの名前を変更したときに、同様の問題が発生しました。admin.autodiscover()基本的に、アプリを起動し、urls.pyファイルでadmin を使用した場合admin.pyc、アプリ フォルダーにファイルが作成されます。このadmin.pycファイルを削除して、サーバーを再度実行してください...そして出来上がり!

于 2012-07-23T00:10:57.710 に答える
1

testapp/admin.pyはadminを作成しているmodels.Modelクラスをインポートしないと推測します。次のことを試してください。

./manage.py shell # you may immediately get a stack trace
>> import testapp.admin # I'll bet it blows up.
于 2009-12-21T18:18:07.547 に答える
0

古い質問ですが、まだ関連しています。私は今日私を困惑させた同様の問題を抱えていました。問題は、Django アプリ フォルダー ( ) 内のディレクトリ内の一連のファイルをlib/cache1 つのファイル ( lib/cache.py) にリファクタリングしたことです。ディレクトリにはまだ があったため、Python は空__init__.pycacheディレクトリをモジュールとして認識し、 へのアクセスを妨げていましたcache.py

admin.autodiscover()myでコメントアウトすると、urls.pyこれを追跡するのが少し簡単になりましたが、それでも推測が必要でした.

于 2016-07-07T06:02:29.970 に答える