3 回答
TA贡献1946条经验 获得超3个赞
如果没有错误消息,还不清楚您的问题是什么,但我的预感是您未能在独立脚本中引导 Django 环境。
Django 有一个特殊的工具来构建你可以在 Django 环境中运行的“命令”,而不必像在 populate_first_app.py 中那样“设置它”。
在上面的示例中,您希望将“populate_first_app.py”移动到“first_app/management/commands/populate_first_app.py”。然后你需要将你的函数放在 BaseCommand 中:
from django.core.management.base import BaseCommand, CommandError
from polls.models import Question as Poll
# .. other imports
class Command(BaseCommand):
help = 'Populates test data in first_app'
def add_arguments(self, parser):
parser.add_argument('n', type=int)
def handle(self, *args, **options):
fakegen = Faker()
for entry in range(args.n):
#.. generate each entry
一旦你有了这个命令,你就可以从 manage.py 运行它:
manage.py populate_first_app -n 20
好处是当别人想用这个的时候,跑起来就可以看到了
manage.py 帮助
添加回答
举报