我想同时运行 Django 和 Flask。 Django 应用程序将在“hello.com”上运行,而 Flask 应用程序将在“hello.com/flaskapp”上运行。我该怎么做?
请您参考如下方法:
如果您不需要 flask 中的 django-y 内容或 django 中的 flask-y 内容(即它们是完全独立的应用程序),那么这只是设置您的 Web 服务器以代理请求到 /flaskapp 到运行 Flask 的进程,/ 下的所有其他内容到运行 Django 的进程。
请记住,我从来没有在生产环境中这样做过,也从来没有专门将 Django 和 Flask 并排使用过,但经常使用 NodeJS 开发服务器和代理所有请求的 Django(或 Flask)后端 API 来完成/api/ 到我运行 Django 开发服务器的本地主机上的任何端口。
nginx 的示例配置来完成此操作:
upstream django {
# your usual django config using e.g. uwsgi or gunicorn
}
upstream flask {
# your usual flask config
}
server {
location / {
proxy_pass http://django;
}
location /flaskapp {
proxy_pass http://flask;
}
}
@davidism 在关于让 Flask 知道它不“拥有”站点根目录的评论中提出了一个很好的观点。将 script_root 设置为 /flaskapp 应该可以解决问题(参见 relevant Flask docs )。
