您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

运行独立脚本在Django中使用settings / dev.py而不是settings.py进行模型查询

运行独立脚本在Django中使用settings / dev.py而不是settings.py进行模型查询

如果您只想在django环境中运行脚本,那么最简单的方法是创建一个./manage.py子命令,如下所示

from django.core.management.base import BaseCommand
from my_app.models import MyModel

class Command(BaseCommand):
    help = 'runs your code in the django environment'

    def handle(self, *args, **options):
        all_entries = MyModel.objects.all()
        for entry in all_entries:
            self.stdout.write('entry "%s"' % entry)

文档对解释这一点非常有帮助。

但是,您可以指定一个设置文件以与运行

$ django-admin.py runserver --settings=settings.dev

它将使用其中的设置来运行测试服务器,dev但是,我担心您的问题比这简单得多。我不建议您更改manage.py文件,因为这会导致不一致和将来的麻烦。

还请注意,dev.py如果要执行此操作,则应为完整的设置文件。我个人建议这样的结构:

|-settings
|    |- __init__.py
|    |- base.py
|    |- dev.py
|    |- prod.py

并保留所有常规设置,base.py然后将dev.pyetc的第一行更改为

# settings/dev.py
from .base import *

DEBUG = True
...
Go 2022/1/1 18:36:06 有494人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶