我是一名初学者 Django 开发人员,所以如果这个问题没有意义,请原谅我。
我们在 django 设置中提供了一个名为 WSGI_APPLICATION
的变量以及 ROOT_URLCONF
和一些其他设置变量。我们也在 wsgi.py 文件中提供设置文件路径,
import os
import django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGSS_MODULE", "<settings_file_path>")
application = get_wsgi_application()
所以你看,这是双向连接。对吧?
我的意思是 wsgi 文件中设置文件的路径和设置文件中 wsgi 文件的路径。那么为什么我们必须这样做。
根据我的理解,wsgi 文件中设置文件的路径应该足够好,我们不需要 django 设置中的额外变量?
最终wsgi文件是django应用程序的起点,对吧?
不对的地方请指正。
最佳答案
最终 wsgi 文件是 django 应用程序的起点,对吧?
不一定。 documentation for WSGI_APPLICATION
解释此设置的用途:
The full Python path of the WSGI application object that Django’s built-in servers (e.g.
runserver
) will use.
您设置的任何服务器都必须知道 WSGI 文件在哪里。如果您使用的是外部服务器,它将查看自己的设置。如果您使用 Django 的开发服务器,它将检查 Django 的设置。因此,您注意到的循环是 Django 应用程序可以通过多种不同方式启动这一事实的结果。
关于python - 为什么我们必须在 Django 设置中提供 WSGI_APPLICATION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105946/