Flask 应用在 Xampp 中返回 404
Flask app returning 404 in Xampp
我目前的文件结构如下:
/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 应用程序时,为您的视图命名 "menumaster_app" 非常令人困惑。通常,包含视图的文件称为 views.py
.
这篇文章很有帮助:http://flask.pocoo.org/docs/0.10/patterns/packages/
我最终按照那里所说的做了:
menumaster
runserver.py
menumaster
views.py
sqltables.py
runserver.py
from menumaster import app
app.run(debug=True)
views.py
@app.route('/restaurants', methods = ['GET'])
__init__.py
from flask import Flask
app = Flask(__name__)
import menumaster.views
.wsgi
import sys
sys.path.insert(0, 'C:/xampp/code/menumaster')
from menumaster import app as application
希望这对某人有所帮助。
我目前的文件结构如下:
/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 应用程序时,为您的视图命名 "menumaster_app" 非常令人困惑。通常,包含视图的文件称为 views.py
.
这篇文章很有帮助:http://flask.pocoo.org/docs/0.10/patterns/packages/
我最终按照那里所说的做了:
menumaster
runserver.py
menumaster
views.py
sqltables.py
runserver.py
from menumaster import app
app.run(debug=True)
views.py
@app.route('/restaurants', methods = ['GET'])
__init__.py
from flask import Flask
app = Flask(__name__)
import menumaster.views
.wsgi
import sys
sys.path.insert(0, 'C:/xampp/code/menumaster')
from menumaster import app as application
希望这对某人有所帮助。