django wsgi应用程序设置
我正在尝试使用内置的django wsgi应用程序设置,django,python-3.x,wsgi,Django,Python 3.x,Wsgi,我正在尝试使用内置的wsgi运行django应用程序。我的目录结构如下: /project/ -/project/ - settings.py - wsgi.py - urls.py -/app/ 这里是提供的wsgi.py文件,我对其进行了一些修改 import os from django.core.wsgi import get_wsgi_application # used to be crowdlabel.settin
wsgi
运行django应用程序。我的目录结构如下:
/project/
-/project/
- settings.py
- wsgi.py
- urls.py
-/app/
这里是提供的wsgi.py
文件,我对其进行了一些修改
import os
from django.core.wsgi import get_wsgi_application
# used to be crowdlabel.settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
application = get_wsgi_application()
if __name__ == "__main__":
application.run()
在运行python项目/wsgi.py
时,我得到一个错误,即找不到模块project
。为了解决这个问题,我更改了os.environ.setdefault(“DJANGO\u SETTINGS\u MODULE”、“SETTINGS”)。执行此操作后,我在get\u wsgi\u application()
函数中遇到一个新错误,ModuleNotFoundError:没有名为“app”的模块。
我不感到困惑,所以如果有经验的人能建议我做错了什么,我将不胜感激。值得注意的是,该应用程序在测试服务器上运行良好。
wsgi.py
不应从命令行运行,而应从wsgi容器运行。最受欢迎的是gunicorn。尝试:
pip install gunicorn
gunicorn project.wsgi
更多信息。
wsgi.py
不应从命令行运行,而应从wsgi容器运行。最受欢迎的是gunicorn。尝试:
pip install gunicorn
gunicorn project.wsgi
更多信息。您需要将外部
项目
目录添加到python路径。例如,请参阅的Django文档,其中设置了WSGIPythonPath
。您所说的内置wsgi
是什么意思?为什么不运行python manage.py runserver
?据我所知,在应用程序上也没有run()
方法。不知道这行代码是从哪里来的,因为它不在生成的wsgi.py
文件中。我需要投入生产,显然最好使用nginx之类的东西,而不是测试服务器。此外,application.run()是一个暗箭伤人的东西,在您查看过gunicorn、uWSGI或mod_wsgi之后,它不会改变任何东西吗?关于部署的Django文档可以在im上找到,并尝试按照教程进行操作,但是nginx->wsgi服务似乎不起作用。我认为这是一个单独的小问题,您需要将外部project
目录添加到python路径中。例如,请参阅的Django文档,其中设置了WSGIPythonPath
。您所说的内置wsgi
是什么意思?为什么不运行python manage.py runserver
?据我所知,在应用程序上也没有run()
方法。不知道这行代码是从哪里来的,因为它不在生成的wsgi.py
文件中。我需要投入生产,显然最好使用nginx之类的东西,而不是测试服务器。此外,application.run()是一个暗箭伤人的东西,在您查看过gunicorn、uWSGI或mod_wsgi之后,它不会改变任何东西吗?关于部署的Django文档可以在im上找到,并尝试按照教程进行操作,但是nginx->wsgi服务似乎不起作用。我想这是一个单独的小问题