在pycharm中我可以为django运行每个文件吗?

时间:2016-09-08 19:17:07

标签: python django pycharm

我是Django的新手。我的localhost网站运行正常。由于我使用的是pycharm,因此很容易运行任何文件。我决定在我的django项目中运行每个文件,并遇到了一些错误,例如我的views.py中的这个错误:

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

即使网站正在运行,看起来还不错,我看到了这条消息。造成这种情况的原因是什么,这是典型的吗?

2 个答案:

答案 0 :(得分:0)

您无法运行django项目中的每个文件。

无论这些是.py扩展名的文件。它们依赖于django框架来运行项目。

您可能会看到该错误的原因是因为您可能正在使用settings.py文件中存在的属性,而这些属性又需要django将应用程序设置为像启动WSGI服务器一样运行,在您实际使用任何内容之前,依赖项和installed apps已准备就绪。

了解Django是一个框架,它依赖于许多底层组件来实际工作。即使您认为技术上可以以任何方式运行任何文件,您也无法启动应用程序本身。

如果您想通过django shell使用python manage.py shell来检查和测试应用程序来测试应用程序,还有其他方法可以执行此操作,这将是执行单个测试而不是运行的更好方法每个文件都是独立的。

答案 1 :(得分:0)

您可以在使用Django的Django项目中运行任何单个 python文件,但请记住,必须提供Django的设置。使用Django运行单个文件不是一个好习惯,但出于调试目的,您可以使用它(例如。测试您使用数据库访问编写的解析器),

您必须先配置Django设置,然后才能在单个文件上对Django执行任何操作。

from django.conf import settings
settings.configure()

def do_something_with_a_model():
    # does something with a model
    print "I am done!!"

请注意,在单个文件上运行时,相对导入可能会中断。

例如。使用单个文件时,from .another_module import AnotherClass等导入可能会中断。