Flask:如何根据网址呈现不同的模板文件?

时间:2018-06-02 16:02:22

标签: python flask

我使用的是Python Flask,我想根据网址的给定结尾呈现模板文件:

如果我访问domain.com/posts/bla,我希望它能获得bla.html和domain.com/posts/now获取now.html等。

我试图基本上将结束部分作为变量并将其作为要获取的文件的名称注入。

@app.route("/posts/<path>", methods=['GET'])
def article(path):
    return render_template("%s.html" % path)

我发现的大多数解决方案都是基于参数进行路由,但我不想为此特定部分呈现相同的html文件。

日志显示&#34; TemplateNotFound:path.html&#34;。它似乎没有注入变量。

我做错了什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

问题解决了。

  • 显然重新加载UWSGI(=用Nginx服务Flask)没有正确完成并且没有取代代码更改。重新启动后,它工作,路径变量工作。

  • 我使用的html文件有一个表单。由于我没有在路由中传递指向表单函数的变量,因此它没有呈现页面。在用最小的HTML文件交换它进行测试之后,它就可以了。