Python 如何使用正确的路由显示带有Flask的HTML页面?
我对python和flask感到迷茫,因为我不理解路由结构如何在HTML页面之间导航 部署到heroku我的结构是:Python 如何使用正确的路由显示带有Flask的HTML页面?,python,heroku,flask,Python,Heroku,Flask,我对python和flask感到迷茫,因为我不理解路由结构如何在HTML页面之间导航 部署到heroku我的结构是: /my_app_name/ app.py config.py drivers.html Procfile requirements.txt app.py文件是: import os from flask import Flask, render_template, request, url_for from flask.ext.sqlalchemy import SQLAl
/my_app_name/
app.py
config.py
drivers.html
Procfile
requirements.txt
app.py文件是:
import os
from flask import Flask, render_template, request, url_for
from flask.ext.sqlalchemy import SQLAlchemy
import json
app = Flask(__name__)
db = SQLAlchemy(app)
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World from Python!'
@app.route('/')
def drivers():
drivers = db.drivers.select()
return render_template('drivers.html')
#return HttpResponse('/drivers.html', json.dumps(result), content_type='application/json')
if __name__ == '__main__':
app.run(debug=True)
config.py是:
SQLALCHEMY_DATABASE_URI = 'heroku_database_uri_string) #connection is OK, no problem here
drivers.html是:
{% block body %}
<ul>
{% for driver in drivers %}
<li><h2>{{ driver.driver_name }}</h2>
</ul>
{% endblock %}
当我导航到myapp.heroku.com/时,我从pyhton获得hello world,但当我导航到myapp.heroku.com/drivers.html时
我得到一个“404”错误
因此,有两个问题:
1为什么是404?怎么了
2我想是的,但是整个结构有缺陷吗 您一定注意到了以下几行:
@app.route(...)
在你的代码中。它们定义了路线。您有两个处理程序指向/,而您可能希望驱动程序处理程序指向/drivers:所以更改传递给route的参数
此外,您不应该考虑HTML页面,也不应该尝试给routes.HTML后缀。只需使用驱动程序,然后导航到myapp.heroku.com/drivers
最后,无需上传到Heroku进行测试:只需运行本地开发服务器。请注意,所有这些在烧瓶文档中都有详细描述;你应该读一下。谢谢,这对我有一定帮助。我已经读过这些文件,但还没有完全理解。毫无疑问,我会回来寻求更多的帮助!