如何使用正确的路由来显示带有Flask的HTML页面?

2024-03-29 09:09:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我不懂python和flask,因为我不明白路由结构是如何在HTML页面之间导航的。你知道吗

部署到heroku我的结构是:

/my_app_name/
app.py
config.py
drivers.html
Procfile  
requirements.txt

那个应用程序类型文件是:

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)

你知道吗配置.py是:

 SQLALCHEMY_DATABASE_URI = 'heroku_database_uri_string) #connection is OK, no problem here

你知道吗驱动程序.html是:

{% block body %}
  <ul>
  {% for driver in drivers %}
    <li><h2>{{ driver.driver_name }}</h2>
  </ul>
{% endblock %}

当我导航到myapp.heroku.com/我得到“你好世界从pyhton”很好,但当我导航到myapp.heroku.com/驱动程序.html文件

我得到一个404错误。你知道吗

所以,有两个问题:

1)为什么是404?怎么了?你知道吗

2)我想是的,但是整个结构有缺陷吗?你知道吗


Tags: 文件namefrompyimportjsonappflask
1条回答
网友
1楼 · 发布于 2024-03-29 09:09:27

你一定注意到了这些台词:

@app.route(...)

在你的代码里。它们定义了路线。您有两个处理程序指向“/”,而您可能希望驱动程序处理程序指向“/drivers”:所以请将传递给route的参数更改为。你知道吗

另外,您不应该考虑HTML页面,也不应该试图给出routes“.HTML”后缀。只需使用“驱动程序”,并导航到myapp.heroku.com/驱动程序. 你知道吗

最后,无需上传到Heroku进行测试:只需运行本地开发服务器。请注意,所有这些都在烧瓶文档中有很好的描述;您应该阅读它们。你知道吗

相关问题 更多 >