django中js调用python函数,不刷新页面,加载内容

#django中js调用python函数方法,不刷新页面,加载内容
#django实时刷新局部页面的方法,不刷新网页的情况下,加载内容

django使用中,由于js代码和python代码的区别,有时候python代码已经写好了,在写一次js代码比较麻烦。因此有没有一种方法可以直接在js中调用python函数或者代码?同时如果能像js一样在不刷新页面的情况下,加载内容,或者说刷新局部页面呢?

下面介绍一种简单的方法:使用 jQuery实现:
代码如下:

view.py

from django.shortcuts import render
from django.http import HttpResponse
 
def test(request):
    return render(request, 'test.html')
def change(request):
    a = request.GET.get('a', 0)
    b = request.GET.get('b', 0)
    c = int(a) + int(b)
    return HttpResponse(str(c))``

urls.py

from django.conf.urls import url, include
from django.contrib import admin
from app import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('test', views.test, name='test'),
    path('change', views.change, name='change'),
]

注意:前面的script引入外部js文件不能去掉,这是找到的 jQuery库来实现的,可以打开src中的网页,将js内容拷贝下来,放在自己的目录中,修改路径。

test.html

<!DOCTYPE html>
<html>
<body>
<p>请输入两个数字</p>
<form action="change" method="get">
    a: <input type="text" id="a" name="a"> <br>
    b: <input type="text" id="b" name="b"> <br>
    <p>result: <span id='result'></span></p>
    <button type="button" id='sum'>提交</button>
</form>

<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script>//注意:前面的script引入外部js文件不能去掉,这是找到的 jQuery库来实现的,可以打开src中的网页,将js内容拷贝下来,放在自己的目录中,修改路径。
    $(document).ready(function(){
      $("#sum").click(function(){
        var a = $("#a").val();
        var b = $("#b").val();
 
        $.get("change",{'a':a,'b':b}, function(date){
            $('#result').html(date)
        })
      });
    });
</script>
</body>
</html>

其实就是ajax,只是这种方法不需要安装那些操作,由于用 jQuery 实现 ajax 比较简单,所以我们用 jQuery库来实现.,这里用了jQuery.get() 方法,并用 $(selector).html() 方法将结果显示在页面上。原文链接:https://www.js1331.com/jiaocheng?id=280628

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值