在Django 1.9和Waitress 0.9.0上进行了测试
你可以通过在你的Django项目根目录中创建一个脚本(例如server.py
),并从wsgi.py
模块导入应用程序变量,来使用waitress
与你的Django应用程序:
yourdjangoproject 项目根目录结构
├── manage.py
├── server.py
├── yourdjangoproject
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
wsgi.py(更新于2021年1月,含静态文件服务)
这是Django中 wsgi.py
的默认代码:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourdjangoproject.settings")
application = get_wsgi_application()
如果您需要提供静态文件服务,可以编辑
wsgi.py
并使用类似于
Whitenoise或
dj-static这样的工具来处理静态资源。
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourdjangoproject.settings")
"""
YOU ONLY NEED ONE OF THESE.
Choose middleware to serve static files.
WhiteNoise seems to be the go-to but I've used dj-static
successfully in many production applications.
"""
from whitenoise import WhiteNoise
application = WhiteNoise(get_wsgi_application())
from dj_static import Cling
application = Cling(get_wsgi_application())
server.py
from waitress import serve
from yourdjangoproject.wsgi import application
if __name__ == '__main__':
serve(application, port='8000')
使用方法
现在你可以运行$ python server.py