python - Flask 应用程序在 Xampp 中返回 404

标签 python apache flask http-status-code-404

我目前的文件结构如下:

/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/

相关文章:

python - Uwsgi 在作为服务运行时不会加载应用程序

python - SQLAlchemy,添加一个 ARRAY 类型的列 throw me "can' t render element of type <class 'sqlalchemy.dialects.postgresql.base.ARRAY' >"

python - 如何从词序中区分句子型和非句子型?

python - 用零填充 1D NumPy 数组以形成 2D 数组

python - 使用正则表达式将空格替换为连字符

python - Django模型电话领域

java - 从 Servlet 访问 SSL 私钥

linux - Apache Config - 如何将所有域转发到一个域

php - 查找 PHP 脚本终止源的最佳实践

python - 单独使用 Swagger 和 Flask