1

我正在尝试在 Django 中创建一个纯内存 SQLite 数据库,并且我认为它可以正常工作,除了一个烦人的问题:

我需要syncdb在使用数据库之前运行,这不是什么大问题。问题是它需要创建一个需要交互式输入auth_user的超级用户(我认为是在表中)。

出于我的目的,我不想要这个——我只想在内存中创建它,而且我真的不关心密码,因为我是唯一的用户。:) 我只想在某处硬编码密码,但我不知道如何以编程方式执行此操作。

有任何想法吗?

4

3 回答 3

6

django-admin.py 的任何输入或提示都可以使用--noinput选项抑制,例如

./manage.py syncdb --noinput

这将跳过在初始 syncdb 运行时创建超级用户,因此需要您使用固定装置或自定义方法创建一个作为post_syncdb信号接收器的超级用户。

请参阅Django 文档中的 django-admin.py 和 manage.py

--无输入

使用 --noinput 选项禁止所有用户提示,例如“您确定吗?” 确认消息。如果 django-admin.py 作为无人值守的自动化脚本执行,这很有用。

于 2011-07-06T23:05:57.570 回答
3

断开信号连接django.contrib.auth.management.create_superuserpost_syncdb而是连接您自己的函数,该函数创建并保存User具有所需密码的新超级用户。

于 2011-07-06T17:03:00.930 回答
1

您将需要使用固定装置:

https://docs.djangoproject.com/en/1.3/howto/initial-data/

于 2011-07-06T16:43:13.920 回答