我想在 jquery 发布之后将以下 django 模板包含(它是一个列表项)添加到名为 myClass 的 UL 中:
$.post(url,data,function(result){
$( ".myClass" ).append('{% include "mytemplate.html" %}');
})
这会导致重新加载页面的错误。
我已经阅读了有关 jquery 负载的信息,这听起来很有希望。无论哪种方式,我如何添加列表项?
我想在 jquery 发布之后将以下 django 模板包含(它是一个列表项)添加到名为 myClass 的 UL 中:
$.post(url,data,function(result){
$( ".myClass" ).append('{% include "mytemplate.html" %}');
})
这会导致重新加载页面的错误。
我已经阅读了有关 jquery 负载的信息,这听起来很有希望。无论哪种方式,我如何添加列表项?
最相似的方法是,在view
你返回的例子template
中rendered
,你有一个名为的模板to_include.html
:
模板to_include.html
<p>{{variable}}</p>
网址
url(r'^some_view/$', some_view),
POST 请求(在您将包含的模板中to_include.html
)
$.post('/some_view/',data,function(result){
$( ".myClass" ).append(result);
}, 'html');
风景
def some_view(request):
variable = "Hi I am an example"
return render(request, 'to_include.html', {'variable': variable})
逻辑是view
( some_view
) 将template
( to_include.html
) 已经返回rendered
到POST request
:
<p>Hi I am an example</p>
result
已经template
和rendered
:_
$( ".myClass" ).append(result);
真的是:
$( ".myClass" ).append("<p>Hi I am an example</p>");
这是不可能的$( ".myClass" ).append('{% include "mytemplate.html" %}');
一种可能的方法是:
<form action="#" method="post" id="testForm">
<input type="text" name="tester" value="">
<input type="submit" value="save" />
</form>
<div class="myClass"></div>
$("#testForm").on("submit", function(event){
$.post('url', $(this).serialize(),
function(data){
CreateRow(data);
}, "json");
event.preventDefault();
});
function CreateRow(dd){
$(".myClass").append(dd.mycontent);
}
import json
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def testpost(request):
str_html="""
<h1>....</h1>...your full htmlcode
"""
return HttpResponse(json.dumps({"mycontent": str_html}), mimetype="application/json")