我目前的文件结构如下:
/xampp/code/menumaster_project
menumaster
__init__.py
menumaster_app.py
sqltables.py
在我的 Apache
httpd.conf
文件中,我有:
<IfModule wsgi_module>
<VirtualHost *:8081>
WSGIScriptAlias /myapp C:/xampp/htdocs/flaskapp/flask.wsgi
<Directory C:/xampp/htdocs/flaskapp>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
</IfModule>
flask.wsgi
import sys
sys.path.insert(0, 'C:/xampp/code/menumaster_project')
from menumaster import app as application
包含我所有路线的文件是menumaster_app.py
:
@app.route('/restaurants', methods = ['GET'])
我正在尝试通过 http://localhost:8081/myapp/restaurants
访问 localhost
上的应用程序,但是我收到了 404
> 错误。
我也不确定我的应用程序应该如何知道 menumaster_app.py
是最初需要调用的主文件。
感谢您的帮助。
最佳答案
定义 Flask 应用后,您需要导入 menumaster_app,以便加载代码并注册路由。
__init__.py
# ...
app = Flask(__name__)
# ...
from menumaster import menumaster_app
请务必在它将从__init__.py
导入的任何对象之后导入menumaster_app
,以避免循环导入。
顺便说一句,当该模块既没有定义包 menumaster 也没有定义 Flask 应用程序时,将 View 命名为“menumaster_app”是相当困惑的。通常,包含 View 的文件称为 views.py
。
关于python - Flask 应用程序在 Xampp 中返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29001267/