Django处理Ajax发送的Get请求代码详解

花开有时
花开有时
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍了如何在Django框架中处理由Ajax发起的Get请求。通过创建Django工程、配置settings.py、编写HTML模板与jQuery脚本、设置路由及视图函数,实现了异步数据交互。示例展示了点击按钮后局部刷新页面并返回处理结果的全过程,帮助开发者掌握Django与前端Ajax交互的核心技巧。

Django处理Ajax发送的Get请求代码详解

本文以Django处理Ajax发送的Get请求为例进行说明。Ajax技术的优势主要体现在两点:一是支持异步请求,用户无需等待服务器响应即可发起新的请求;二是实现局部刷新,避免整个网页重新加载导致的页面闪烁问题。

创建Django工程与配置

首先,打开命令行窗口,执行以下命令来创建Django工程:


django-admin startproject djajaxget

cd djajaxget

python manage.py startapp demo

接着,使用PyCharm打开刚才创建的工程。在工程同名文件夹下的settings.py文件中,需要修改部分配置代码,包括注册应用、配置模板路径以及静态文件路径。修改后的settings.py关键内容如下所示:


INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'demo.apps.DemoConfig'
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join('templates')],
    'APP_DIRS': True,
    'OPTIONS': {
      'context_processors': [
        'django.template.context_processors.debug',
        'django.template.context_processors.request',
        'django.contrib.auth.context_processors.auth',
        'django.contrib.messages.context_processors.messages',
      ],
    },
  },
]

前端模板与脚本编写

在工程根目录下新建一个名为templates的文件夹,并在该文件夹内创建一个名为test.html的文件,其具体代码如下:


{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="/static/js/jquery-1.9.1.min.js"></script>
  <script>
  $(document).ready(function(){
    $("#btn").click(function(){
      $.ajax({
        url:"/demo/",
        type:"GET",
        data:{
          "var1": $("#div").text()
        },
        success:function(resdata){
          $("#div").text(resdata)
        }
      })
    })
  })
  </script>
</head>
<body>
  <button id="btn" value="hh">点我发送ajax请求</button>
  <div id="div">hello</div>
</body>
</html>

在工程根目录下创建static文件夹,并在其中新建js文件夹,将所需的脚本文件放入该目录中。

这里需要引入jquery脚本库。

路由与视图函数设置

随后,在工程同名文件夹下的urls.py文件中,添加指向应用视图的路由配置,相关代码如下:


from django.conf.urls import url,include
from django.contrib import admin
from demo import views
urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'test/',views.test),
  url(r'demo/',views.demo),
]

在应用的views.py文件中编写两个视图函数,具体实现代码如下:


from django.shortcuts import render,HttpResponse

# Create your views here.
def test(request):
  return render(request,'test.html')

def demo(request):
  s = request.GET.get('var1')
  s +='world'
  return HttpResponse(s)

运行服务器与效果展示

完成上述配置后,启动服务器进行测试。

执行命令:python manage.py runserver

打开浏览器访问网页,初始界面效果如下图所示:

点击页面上的按钮后,界面效果更新如下图所示,此时Ajax请求已成功返回数据。

以上就是关于Django处理Ajax发送Get请求的完整实例内容,感谢大家的阅读与支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表