Django中的ajax请求

yipeiwu_com6年前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设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python隐藏类中属性的3种实现方法

python隐藏类中属性的3种实现方法

方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height):...

python实现连连看辅助(图像识别)

个人兴趣,用python实现连连看的辅助程序,总结实现过程及知识点。 总体思路 1、获取连连看程序的窗口并前置 2、游戏界面截图,将每个一小图标切图,并形成由小图标组成的二维列表 3、对...

简单解决Python文件中文编码问题

简单解决Python文件中文编码问题

读写中文 需要读取utf-8编码的中文文件,先利用sublime text软件将它改成无DOM的编码,然后用以下代码: with codecs.open(note_path, 'r+...

Python EOL while scanning string literal问题解决方法

项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了下原因。 首先本地和测试环境测试这个程序都没问题,只有线上环境会在日志中抛出异常,猜测异常主要产生的原...

对python中url参数编码与解码的实例详解

一、简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码。 二、关键代码 1、url编码 对字符串编码用urllib.parse包下的quote(stri...