为什么我们必须在 Django 设置中提供 WSGI_APPLICATION 变量
Why do we have to provide WSGI_APPLICATION variable in Django settings
我是一名初学者 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()
所以你看,它有两种方式 connection.right?
我的意思是设置文件在wsgi文件中的路径和wsgi文件在设置文件中的路径。那我们为什么要这样做呢。
根据我的理解,wsgi 文件中设置文件的路径应该足够好,我们不需要 django 设置中的额外变量?
最终wsgi文件是django应用程序的起点,对吧?
不对的地方请指正。
恕我直言,wsgi.py 的作用是指向您的 django 项目所在的位置,对于 Apache 或其他类似的 WAS。
因此wsgi.py在django之外启动,它需要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 应用程序可以通过多种不同方式启动这一事实的结果。
我是一名初学者 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()
所以你看,它有两种方式 connection.right?
我的意思是设置文件在wsgi文件中的路径和wsgi文件在设置文件中的路径。那我们为什么要这样做呢。
根据我的理解,wsgi 文件中设置文件的路径应该足够好,我们不需要 django 设置中的额外变量?
最终wsgi文件是django应用程序的起点,对吧?
不对的地方请指正。
恕我直言,wsgi.py 的作用是指向您的 django 项目所在的位置,对于 Apache 或其他类似的 WAS。
因此wsgi.py在django之外启动,它需要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 应用程序可以通过多种不同方式启动这一事实的结果。