如果您只想在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.py
etc的第一行更改为
# settings/dev.py
from .base import *
DEBUG = True
...