1. ホーム
  2. django

[解決済み] Django の ./manage.py syncdb を実行するときに、自動的に管理ユーザを作成します。

2023-05-30 07:31:22

質問

私のプロジェクトは開発の初期段階にあります。私は頻繁にデータベースを削除し manage.py syncdb を実行して、ゼロからアプリをセットアップしています。

残念ながら、これはいつもポップアップで表示されます。

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): 

次に、ユーザ名、有効な電子メールアドレス、パスワードを入力します。これは面倒です。私は test\[email protected]\ntest\ntest\n .

を実行する際に、このステップを自動的にスキップしてプログラム的にユーザを作成するにはどうしたらよいでしょうか。 manage.py syncdb ?

どのように解決するのですか?

すでに回答されていることだと思いますが.

もっと簡単な方法は、スーパーユーザが作成されたら、認証モジュールのデータを json ファイルにダンプすることです。

 ./manage.py dumpdata --indent=2 auth > initial_data.json

また、セッションデータをダンプすることもできます。

./manage.py dumpdata --indent=2 sessions

その後、セッション情報を Auth モジュールのダンプに追加できます (そしておそらく expire_date を増やして、有効期限が切れないようにします;-)。

それから、あなたは

/manage.py syncdb --noinput

を使用すると、スーパーユーザについて尋ねる対話的なプロンプトを表示せずに、データベース作成時にスーパーユーザとそのセッションを読み込むことができます。