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

yipeiwu_com6年前Python基础

Django处理Ajax发送的Get请求实例,Ajax优点在一是异步请求,无需等待响应就可以再次发起请求,而是局部刷新,避免整个页面刷新的网页闪动。

打开命令行窗口,输入命令,创建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',
      ],
    },
  },
]

在工程根目录新建tempaltes文件夹,并在文件夹内新建‘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设计】的支持。

相关文章

python实现文件分组复制到不同目录的例子

场景:某个文件夹下面包含数量巨大的文件,需求需要将这些文件按组(比如5000个一组)存放到不同的目录中去。 复制代码 代码如下:# Filename: CopyFiles.pyimpor...

Python中enumerate()函数编写更Pythonic的循环

enumerate函数 enumerate是一个Python内置函数,一个功能强大的内置函数。其实功能强大不足以形容它, 但是很难用一个词来形容它的用途。 让我们来看看一个使用enum...

使用python打印十行杨辉三角过程详解

使用python打印十行杨辉三角过程详解

杨辉三角,是二项式系数在三角形中的一种几何排列 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第...

解决python文件双击运行秒退的问题

今天帮同事写了一个处理Excel表格的python脚本,在我的电脑上双击正常运行,奈何在同事的电脑上总是秒退,研究了半天终于解决,写出来跟大家分享一下。 py文件秒退原因分析: 首先确保...

Java及python正则表达式详解

Java及python正则表达式详解

正则表达式语法及常用元字符: 正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务。 常用的元字符有: 其中在使用反斜线时要注意:如...