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

作者:卡和我 时间:2023-06-29 08:40:40 

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

打开命令行窗口,输入命令,创建django工程:


django-admin startproject djajaxget

cd djajaxget

python manage.py startapp demo

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

使用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',
     ],
   },
 },
]

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

在工程根目录新建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>

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

在工程根目录创建static文件夹,并在文件夹内新建js文件夹,在文件夹内放入

jquery脚本

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

在工程的同名文件夹的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),
]

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

在应用的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)

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

运行服务器

python manage.py runserver

打开网页,效果如下图

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

点击按钮后,效果如下图,Ajax请求成功返回了数据

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

来源:https://jingyan.baidu.com/article/17bd8e52c85f26c5ab2bb896.html

标签:Django,Ajax,Get
0
投稿

猜你喜欢

  • 请给PNG8一个机会:对png8的误解

    2009-09-21 10:45:00
  • Python subprocess模块详细解读

    2023-11-17 02:50:01
  • 详解Python3序列赋值、序列解包

    2022-04-19 05:24:51
  • Python运算符之Inplace运算符的使用教程

    2021-09-24 11:32:10
  • 深入浅析Python获取对象信息的函数type()、isinstance()、dir()

    2021-12-23 11:46:11
  • Python Flask + Redis 程序练习

    2022-07-26 13:49:55
  • python+selenium对table表和分页处理

    2024-01-04 02:16:18
  • Python实现密钥密码(加解密)实例详解

    2022-09-10 12:03:37
  • Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)

    2022-05-09 18:58:43
  • python获得图片base64编码示例

    2023-10-29 07:02:37
  • js控制多图左右滚动切换效果代码分享

    2023-08-28 00:14:32
  • System.Data.OleDb.OleDbDataAdapter与System.Data.OleDb.OleDbDataReader的区别是什么?

    2009-10-29 12:17:00
  • 如何修改被表单引用的ASP页面?

    2010-06-10 18:32:00
  • python 使用递归回溯完美解决八皇后的问题

    2023-03-07 21:48:22
  • django表单实现下拉框的示例讲解

    2022-03-24 09:18:25
  • python自动化测试selenium核心技术三种等待方式详解

    2023-09-16 09:06:04
  • mysql show操作简单示例

    2024-01-24 14:42:52
  • Linux中安装Python的交互式解释器IPython的教程

    2023-09-14 05:50:06
  • Golang有类型常量和无类型常量的区别

    2024-02-01 17:42:23
  • Python heapq库案例详解

    2022-12-27 12:26:52
  • asp之家 网络编程 m.aspxhome.com