我正在尝试在 Django 中建立一个纯内存中的 SQLite 数据库,我认为我可以正常工作,除了一个恼人的问题:
我需要在使用数据库之前运行syncdb
,这不是什么大问题。问题是它需要创建一个 super 用户(我认为是在 auth_user
表中),这需要交互式输入。
出于我的目的,我不想要这个——我只想在内存中创建它,我真的不关心密码,因为我是唯一的用户。 :) 我只想在某处硬编码密码,但我不知道如何以编程方式执行此操作。
有什么想法吗?
最佳答案
可以使用 --noinput 选项抑制 django-admin.py 的任何输入或提示,例如
./manage.py syncdb --noinput
这将跳过初始 syncdb 运行时的 super 用户创建,因此需要您使用固定装置或自定义方法创建一个作为 post_syncdb
信号的接收者。
参见 django-admin.py and manage.py in the Django docs :
--noinput
Use the --noinput option to suppress all user prompting, such as "Are you sure?" confirmation messages. This is useful if django-admin.py is being executed as an unattended, automated script.
关于python - Django 内存中 SQLite3 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599716/