如何在 Django 模板中使用 Ajax?
Posted
技术标签:
【中文标题】如何在 Django 模板中使用 Ajax?【英文标题】:How to use Ajax in Django-templates? 【发布时间】:2014-02-17 21:39:40 【问题描述】:urls.py
from django.conf.urls import patterns, url
urlpatterns = patterns('',
url(r'^home/$', 'views.index'),)
views.py
from django.template import RequestContext
from django.shortcuts import render_to_response
def index(request):
val = request.POST.get('val', default='text_text')
return render_to_response(
'index.html',
'text': val,,
context_instance=RequestContext(request))
index.html
<p>text and pictures</p>
<p>text and pictures</p>
<h1> text </h1>
<form action="/home/" method="post">
% csrf_token %
<input type="text" name="val" id="val" value=" val "/> <br/>
<input type="submit" value="OK" />
</form>
<p>text and pictures</p>
<p>text and pictures</p>
我如何在您按下 OK 按钮时做到这一点仅更新页面的一部分在标签 h1 之间?
【问题讨论】:
What is the best AJAX library for Django? 您可以阅读此链接以获取简单的 ajax 调用 ***.com/questions/21259988/… 【参考方案1】:这就是我在 Flask 中处理它的方式,但是由于您使用的是 Django,因此很容易适应代码。
服务器: 导入jsonify
@app.route("/_jquerylink")
def jquerylink():
val = request.POST.get('val', default='text_text')
return jsonify(text=val)
客户端:
<div id="partwithh1"><h1> text </h1></div>
<form action="/home/" method="post">
% csrf_token %
<input type="text" name="val" id="val" value=" val "/> <br/>
<input type="submit" onclick="getviews(this)" value="OK" />
</form>
<script type="text/javascript">
$(function getviews()
var content = $(#val).text();
$SCRIPT_ROOT = request.script_root|tojson|safe ;
$.getJSON($SCRIPT_ROOT + '/_jquerylink',
'val':content
,
function(data)
$("#partwithh1").html(data.text);
);
return false;
);
</script>
【讨论】:
以上是关于如何在 Django 模板中使用 Ajax?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Django模板在javascript中访问ajax jquery中的模板变量
如何在 Django 模板中使用 Jquery/Ajax 正确刷新 div
如何在返回的 AJAX 调用上使用 django 模板标签?