2013-04-17 10 views
5

私はDjangoで自分のアプリケーションの管理サイトを取得しようとしています。私はDBを同期してサイトに行ってしまいましたが、エラーが発生します...Django - サイトマッチングクエリが存在しません

Site matching query does not exist. 

アイデアはありますか?

+1

重複した質問です。http://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin –

+0

[サイトマッチングの取得django adminを作成した後、クエリが存在しないエラーが発生する(https://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin) –

答えて

22

実行するにはすべてのdjangoアプリにSiteが必要です。ここであなたはそれを持っていないようです。あなたはすべてのセットである必要があり、あなたのDjangoのシェル

$> ./manage.py shell 
>>> from django.contrib.sites.models import Site 
>>> site = Site() 
>>> site.domain = 'example.com' 
>>> site.name = 'example.com' 
>>> site.save() 

または

$> ./manage.py shell 
>>> from django.contrib.sites.models import Site 
>>> site = Site.objects.create(domain='example.com', name='example.com') 
>>> site.save() 

ログインします。

+0

/これは設定ファイル経由で追加する必要がありますか? – felix001

+0

設定で追加することはできません。 './manage.py shell'を実行して、これらのコマンドを実行してください – karthikr

+0

私はちょうど私のアプリがこれを持っていない理由を疑問に思った。また、ドメインはDjango内でどのような参照を持っていますか?もう一度おねがいします... – felix001

4

また、サイトドメインが実際に使用しているものと同じであることを確認する必要があります。たとえば、管理サイトにhttp://127.0.0.1:8000/admin/からアクセスする場合は、site.domainは:site.domain = '127.0.0.1:8000'である必要があります。

0

djangoにdjango.contrib.siteを追加してください。INSTALLED_APPSと は、django設定ファイルにSITE_ID=1を追加してください。

関連する問題