1

私はdjango-tenant-schema(およびpostgresql)を使用してマルチテナントアプリに取り組んでいます。新しいスキーマが作成されるとすぐに、call_command を使用してスーパーユーザーを作成します。シグナル post_migrate を使用するオプションも考えました。

私の疑問は、シェルでパスワードを入力せずにスーパーユーザーを自動作成する方法です。ユースケースは、ユーザーがスキーマに登録するとすぐにスーパーユーザーが生成され、ユーザーはスーパーユーザーのユーザー名とパスワードでログインし、その後パスワードを変更できます。

以下を使用して、createsuperuser コマンドを呼び出しています。

call_command('createsuperuser', schema_name=self.schema_name, username='admin', email='admin@admin.com')

この問題を解決する 1 つの方法は、Django のcreatesuperuser.pyファイルを変更し、そこにパスワードを自動的に提供することですが、これは容認できる方法ではありません。つまり、一部のユース ケースのソース コードをキャッシュすることです。より良い方法をリクエストしていただけますか

4

1 に答える 1

0

新しいスーパーユーザーのパスワードを「準備」し、md5 値を bash に渡すことができます。

a=# select md5('some password'||'test');;
               md5
----------------------------------
 d5b3eb515b64edf295b2ee9062946d24
(1 row)

a=# create user test superuser password 'md5d5b3eb515b64edf295b2ee9062946d24';
CREATE ROLE

d5b3eb515b64edf295b2ee9062946d24パスワードを別の場所に保存して、bashで使用できますか?..

于 2016-06-24T18:38:09.590 に答える