2014-01-08 8 views
16

私はdjangoを学んでおり、ユーザー登録にdjango-allauthを使用することに決めました。私は現在、ローカルアカウントのみを必要としています(私はsettings.pyからソーシャル認証を除外しました)。django-allauth SITE_IDエラー

私は/accounts/loginにアクセスすると、私は次のエラーを取得する:

The ID, as an integer, of the current site in the django_site database table. This is used so that application data can hook into specific sites and a single database can manage content for multiple sites.

しかし、私は非常にこれを理解していない:

You're using the Django "sites framework" without having set the SITE_ID setting. Create a site in your database and set the SITE_ID setting to fix this error.

公式Djangoのドキュメントは言います。今私はちょうど開発環境でdjangoを実行していて、通常はpython manage.py runserverを実行すると動作が開始され、アプリケーションをテストできます。

このSITE_IDの問題をローカルアカウントで解決する方法を教えてください。生産/開発環境ではソリューションが異なるでしょうか?

+6

settings.pyにSITE_ID = 1を設定しましたか?これは通常settings.pyファイルのデフォルト設定ですが、別のモジュールを使用している場合は、追加する必要があります。 –

+0

多分あなたのためのこの助け [http://stackoverflow.com/questions/14019017/django-allauth-no-facebook-app-configured-please-add-a-socialapp-using-the-djan?answertab=active #タブトップ] [1] [1]:http://stackoverflow.com/questions/14019017/django-allauth-no-facebook-app-configured-please-add-a-socialapp- using-the-djan?answertab = active#tab-top – Robert

+0

@AronYsidoroありがとうございました – PyDroid

答えて

30

設定に「SITE_ID = 1」を追加すると、INSTALLED_APPSに追加することなく、 という例外が発生します。それは私のために働いた。

+0

これは正しい解決策です。それは私がエラーを取り除くのを助けました。私はこれがDjango Docsに言及されていないか、おそらく私がそれを逃したことに驚いています。 –

+0

@ShwetabhSharanそれは[ここ](https://docs.djangoproject.com/en/dev/ref/contrib/sites/#enabling-the-sites-framework) –

+0

私は同じ問題があります。私がSITE_ID = 1を設定ファイルに書き込む必要があるところで、私は正確にどこを理解できないのですか? – DarioBB

1

FYI。 、あなたはINSTALLED_APPSに、「django.contrib.sites」を追加したら、ドメインがデータベースに作成されます...詳細はこちらをご覧サイトのフレームワークはDjangoのバージョン1.6で変更されました https://docs.djangoproject.com/en/1.6/ref/contrib/sites/

を有効にしますid = 1、domain = example.com、name = example.com。