栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

如果您只想在django环境中运行脚本,那么最简单的方法是创建一个

./manage.py
子命令,如下所示

from django.core.management.base import baseCommandfrom my_app.models import MyModelclass Command(baseCommand):    help = 'runs your pre 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.py
etc的第一行更改为

# settings/dev.pyfrom .base import *DEBUG = True...

编辑

如果您只是想测试一下,为什么不尝试

$ ./manage.py shell

或使用您的开发设置

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

因为这将为您设置所有OS环境变量,

settings.py
然后您可以使用以下命令进行测试/调试

>>> from my_app.models import MyModel>>> all_entries = MyModel.objects.all()>>> for entry in all_entries:...   print entry


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号