jquery.load与python
我正在尝试使用jquery.load在我的flask应用程序中添加一个div,每次用户按下按钮添加一个新div,但它找不到html文件 所讨论的功能jquery.load与python,jquery,python,html,flask,Jquery,Python,Html,Flask,我正在尝试使用jquery.load在我的flask应用程序中添加一个div,每次用户按下按钮添加一个新div,但它找不到html文件 所讨论的功能 $(document).ready(function(){ $("#add").click(function(){ $("#form").load('/templates/info.html'); }) }); info.html文件只包含html的一个短div部分 index.html代码
$(document).ready(function(){
$("#add").click(function(){
$("#form").load('/templates/info.html');
})
});
info.html文件只包含html的一个短div部分
index.html代码,我想在表单后面加载info.html div
<form id="form" action="{{ url_for('get_data') }}" method="post">
<input type="button" name="add" value="Add" id="add">
<input type="submit" id="submit" value="To XML">
</form>
我正在本地运行flask应用程序,/template/info.html是正确的路径。我只是不知道为什么它没有加载到html中。当我使用jquery函数和.append()并将长html字符串放入append函数时,我可以使它工作,但是添加info.html会变得更长,我只想能够加载整个文件
任何帮助都将非常感谢。您在flask应用程序中的视图定义应返回info.html。换句话说,您在烧瓶应用程序中应该有一个路由和方法,如下所示:
@app.route('/info')
def info(name):
return render_template('info.html')
现在,您可以在jquery代码中加载url
/info
。默认情况下,Flask在templates文件夹中查找模板,因此无需明确指出URL中的templates只是一个文件夹。除非您明确要求,否则烧瓶不提供内容物。设置路由(@route('/info')
或类似内容),呈现模板,并请求/info
而不是该URL。但是jquery不会在模板文件夹中查找并加载html文件吗?文件夹用于文件系统。jQuery向Web服务器发送GET请求,并请求/templates/info.html
上的资源。从这里开始,完全由Flask决定/templates/info.html
的实际含义。它可以将URL反向发送回作为响应。Flask提供/templates/
内容的方式与提供/static/
内容的方式不同,这对您来说可能是一个更好的选择(尽管我建议改为创建一个实际呈现模板的路径,如下面的答案所示,并使用jQuery加载)。我编辑了我的问题,我想我理解您的意思,但我不知道这是否是我想要做的。然后把它放到/static/
而不是/templates/
中。它对我很有用!这正是我想要的。非常感谢!
127.0.0.1 - - [04/Mar/2014 19:55:50] "GET /templates/info.html HTTP/1.1" 404 -
@app.route('/info')
def info(name):
return render_template('info.html')