Django 管理者を作成した後に、サイトに一致するクエリが存在しないというエラーが発生する 質問する

Django 管理者を作成した後に、サイトに一致するクエリが存在しないというエラーが発生する 質問する

標準の Django チュートリアルに従って、アプリの管理者を作成しています。設定で管理者関連の項目をコメントアウトし、syncdb を実行すると、次のメッセージが表示されます。

DoesNotExist at /admin/ Site matching query does not exist.

誰かこれを理解するのを手伝ってくれませんか?

ベストアンサー1

SiteDjango プロジェクトのオブジェクトが見つかりません。各 Django プロジェクトには、サイトの名前とドメインを含むオブジェクトがあります。Site通常、Django プロジェクトの作成時 (特にコマンドのsyncdb実行時) に自動的に作成されますが、この場合は作成されなかったようです。

修正するには:

サイトの Django シェルを開きます ( python manage.py shell)。

次のように入力します。

>>> from django.contrib.sites.models import Site
>>> Site.objects.create(name='example.com', domain='example.com')

後でこれらの値を変更する場合は、管理パネル ( /admin/) に移動し、セクションのサイト オブジェクトを編集しますSites

おすすめ記事