【发布时间】:2011-12-06 17:30:11
【问题描述】:
我在 django1.3 中使用 jquery 做 ajax,它工作正常。我正在使用 jquery load 方法来填充模板。
当用户单击按钮时,我会异步获取一个 json 对象。我将它作为字典传递给另一个模板(我在第一个模板的 div 中加载该模板)。但我不知道我如何在模板中显示它。(我试图在模板页面中传递 json),但它会导致错误。 任何人都可以建议如何解决这个问题?
所以我使用正常的方式解析视图中的 json,并使用 render_to_response() 中的方法 locals() 将其传递给模板。这是一个好的方法吗?
testjqyery.html
$(document).ready(function() {
$('#save').click(function(e)
{
e.preventDefault();
$( '#results' ).html( ' ' ).load( '{% url t %}' );
});
<div id="results"></div>
views.py
def testupdater(request):
// getting json from server
//contents_json = json.loads(...)
json_data = {'json_dict': contents_json}
return render_to_response( 'results.html' ,json_data,context_instance=RequestContext(request))
结果.html
{% if json_dict|length %}
{% else %}
{% endif %}
【问题讨论】:
-
如果您在服务器端渲染模板,为什么还需要 JSON?只需传递一个包含所有变量的普通上下文字典。
-
你是对的@Daniel Roseman,谢谢你 4 的评论
标签: django json django-templates django-views django-1.3