如何在 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 模板标签?

如何使用 Ajax 在 Django 中更新 modelForm

如何在 Django 中使用 Ajax

如何访问由 AJAX 响应返回到模板的查询集 - Django