#!/usr/bin/env python
# coding: utf-8
import os, sys, subprocess, time, re, ast
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "webapi.server.project.settings")
import django
django.setup()
from django.apps import apps
尝试:
cchilders: ./write_creation_tests.py
Traceback (most recent call last):
File "./write_creation_tests.py", line 17, in <module>
django.setup()
AttributeError: 'module' object has no attribute 'setup
如果我删除设置尝试,则无法导入应用:
#!/usr/bin/env python
# coding: utf-8
import os, sys, subprocess, time, re, ast
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "webapi.server.project.settings")
from django.apps import apps
尝试:
cchilders: ./write_creation_tests.py
Traceback (most recent call last):
File "./write_creation_tests.py", line 19, in <module>
from django.apps import apps
ImportError: No module named apps
在manage.py中:
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "webapi.server.project.settings")
因此我的os.environ
设置与另一个项目中的格式匹配。我在其他django项目中以相同的方式运行此脚本并且它可以工作,但不在我的webapi中。这些项目在pythonpath上。我怎样才能设置django?谢谢
答案 0 :(得分:2)
您需要将Django版本升级到支持的版本。较新版本的Django具有setup
功能。请参阅list of supported Django versions
答案在评论中:
错误表明你正在运行Django 1.6或更早版本,在这种情况下你不需要调用setup()。 - knbk 2016年3月23日16:14
Django 1.7中添加了django.apps模块。您需要升级Django或更改脚本以使用您的Django版本。建议进行升级,因为1.7及更早版本现已停止使用,并且不会收到安全修复程序。 - Alasdair 2016年3月23日16:23
django.setup()和django.apps都是在1.7中添加的。