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

相关文章

解决pycharm的Python console不能调试当前程序的问题

使用python时,程序能运行,但是不能调试,找了半天解决方法,最后此操作分分钟奏效。 两种方法: 方法一:选中要运行的代码,右键Execute Selection in Console...

Python 寻找局部最高点的实现

我就废话不多说了,直接上代码吧! # 寻找局部最高点 # 输入input: 含有最高点高度的列表 # 输出output: 返回最高点的位置 # 时间复杂度: O(log(n)) d...

Django 实现外键去除自动添加的后缀‘_id’

django在使用外键ForeignKey的时候,会自动给当前字段后面添加一个后缀_id。 正常来说这样并不会影响使用。除非你要写原生sql,还有就是这个表是已经存在的,你只是把数据库中...

Python协程的用法和例子详解

Python协程的用法和例子详解

从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中, yield 通常出现在表达式的右边(例如, datum = yield),可以产出值,也可以不...

pygame游戏之旅 计算游戏中躲过的障碍数量

pygame游戏之旅 计算游戏中躲过的障碍数量

本文为大家分享了pygame游戏之旅的第8篇,供大家参考,具体内容如下 定义一个计数函数: def things_dodged(count): font = pygame.font...