我需要在浏览器中同时测试两个Flask应用程序.按标准,Flask在localhost:5000中运行应用程序.因此,一个好的选择是改变其中一个应用程序的地址.那可能吗?如果是这样,怎么办?
我有几个使用 WSGI 在我的 apache 服务器上运行的 python 3.6 Flask 应用程序。
有 2 个不同的应用程序在同一个 apache 服务器上运行:
www.example.com/lodge
www.example.com/dashboard
这两款应用程序都有其独特之处app.secret_key
该/dashboard应用程序是一个 Flask 应用程序,有自己的一组路由:
/dashboard/login
/dashboard/orders
/dashboard/staff
登录路由调用session.clear()并让用户输入登录信息。然后,登录的令牌将存储在会话变量中。
和路由都有一个装饰器,用于检查会话中登录令牌是否存在,如果不存在则重定向到登录路由/dashboard/orders。dashboard/staff
该/lodge 应用程序是另一个简单的 Flask 应用程序,有自己的路由:
/lodge/welcome
/lodge/personal
/lodge/review
/lodge/confirmation
欢迎路由也会调用session.clear(),然后显示一个 Web 表单。当用户提交 Web 表单时,personal将调用将这些 Web 表单输入值存储到会话中的路由。
我遇到的问题是,如果我导航到www.example.com/dashboard/login并登录,然后我可以在工作人员和订单路线之间滑动,一点问题都没有,但是当我打开一个新选项卡并转到www.example.com/lodge/welcome(然后调用session.clear)然后重新打开仪表板时选项卡并尝试转到员工或订单路线,由于会话已被清除,我被重定向回登录路线。
httpd.conf:
<VirtualHost *:80>
WSGIScriptAlias /newapp "c:/lodge/lodge.wsgi"
<Directory "c:/lodge">
Require all granted
</Directory>
WSGIScriptAlias /dashboard "c:/dashboard/dashboard.wsgi"
<Directory "c:/dashboard">
Require all …Run Code Online (Sandbox Code Playgroud)