Django中的ajax请求

yipeiwu_com5年前Python基础

需求:实现ajax请求,在界面上任意地方点击,可以成功传参。

创建项目如下所示:

settings.py文件的设置,这次我们除了要注册app和设置templates文件夹的路径,还要多设置一下static的路径,代码如下:

STATICFILES_DIRS = [
  os.path.join(BASE_DIR,'static')
]

首先,先对界面做处理,设置高为100%,然后引入我们所需要的文件static代码如下:

然后我们根据需求,创建一个点击事件,实现ajax请求,代码如下:

最后我们在视图文件中判断是否为ajax请求,代码如下:

from django.shortcuts import render
from django.http import HttpResponse,JsonResponse
# Create your views here.
def home(request):
  return render(request,'index.html')
def ajax_get(request):
  # 判断当前请求方式是否为ajax
  if request.is_ajax():
    city = request.GET.get('city')
    print(city)
    return JsonResponse({'content':"这是ajax请求"})
    # return render(request,'index.html',{'content':'这是ajax请求'})
  else:
    return JsonResponse({'content':"这是假的ajax请求"})
    # return render(request, 'index.html', {'content': '这是假的ajax请求'})

启动服务器,刷新页面。

urls.py文件中代码设置如下:

from django.contrib import admin
from django.urls import path
from myApp import views
urlpatterns = [
  path('admin/', admin.site.urls),
  path('home/',views.home),
  path('ajax_get/',views.ajax_get)
]

进入页面之后,在body范围内随意点击,就可以得到这个ajax请求返回的数据。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

Django 导出项目依赖库到 requirements.txt过程解析

虚拟环境: 使用 pip freeze pip freeze > requirements.txt # 这种方式推荐配合 virtualenv ,否则会把整个环境中的包都列...

Python检查ping终端的方法

菜鸟一枚,写着试了试,虽说有点杂乱,但还是能用,我是在linux下运行的 大致说下过程: 1、把需要ping的网段中所有ip存到数组中(我是放到数组中了,其实直接for循环,一个个的也行...

Python之lambda匿名函数及map和filter的用法

现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] t1 = (('a'), ('c'...

安装dbus-python的简要教程

写一个 python 脚本需要用到 dbus,但因为 dbus-python 这个包并没有提供 setup.py , 所以无法通过 pip 直接安装,唯有下载源码手动编译安装一途了。...

Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例

本文实例讲述了Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能。分享给大家供大家参考,具体如下: 因为需要使用叶子节点的路径来作为特征,但是原始的lxml...