![見出し画像](https://assets.st-note.com/production/uploads/images/95091672/rectangle_large_type_2_02fd772b28eb007b30edcd1fd3c593a5.png?width=1200)
【Django】all-authで承認機能実装時のエラー解決:“no such table: django_site”
Djangoをこちらのサイトを参考に承認機能をall-authで実装していたところ
“no such table: django_site”のエラーに悩まされたので解決法を書き残します。
エラーの状況
all-authでの実装が完了し、試しにhttp://127.0.0.1:8000/account/login/にアクセスしたところ“no such table: django_site”が出て本来表示されるはずの
ログイン的な画面が表示されない。
エラーの内容的には、django_siteというテーブルが存在しないということだから、存在の有無を確認→確かに存在しない。
このdjango_siteというテーブルがあれば解決??
解決法
結論) 以下の2つのコマンドを実行で解決
$ python3 manage.py migrate sites
$ python3 manage.py migrate
まず、$ python3 manage.py migrate sitesを実行。
すると、ターミナルでこのように出力される。
![](https://assets.st-note.com/img/1673079246672-Ga1fT6lmlp.png?width=1200)
続いて、$ python3 manage.py migrateを実行。
すると、ターミナルでこのように出力される。
![](https://assets.st-note.com/img/1673079467676-yYhHTBPdaZ.png?width=1200)
db.sqlite3の中身を覗いてみると、django_siteテーブルが作成されていることが確認できた。
![](https://assets.st-note.com/img/1673079789271-dWE6fOrZXS.png?width=1200)
※ちなみにテーブルの構造はこんな感じだが、まだDjango触り出したくらいの初心者なので何に使うのかは分からん。笑
![](https://assets.st-note.com/img/1673079943940-DVItZ1mgtw.png)
では改めてサーバー起動して、再びhttp://127.0.0.1:8000/account/login/にアクセスしてみる。
ちゃんとログイン画面が表示された!
![](https://assets.st-note.com/img/1673080056148-kypnBSAiVJ.png?width=1200)
同じところで詰んだ人がいらしたら、参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?