日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JQuery之ajax异步请求Django后端

發布時間:2025/4/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JQuery之ajax异步请求Django后端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建項目 ajax

  • 命令行創建:
django-admin startproject mysite
  • pycharm創建:
    File --> New project --> 左側選Django --> 右側填項目路徑,并且勾選python.exe

啟動應用 app01

python manage.py startapp app01

配置 settings.py

INSTALLED_APPS = [# 注冊應用 app01'app01.apps.App01Config',# or'app01', ]........MIDDLEWARE = [......# 處理 csrf# 'django.middleware.csrf.CsrfViewMiddleware',...... ]........TEMPLATES = [{......# 檢查模板路徑配置'DIRS': [os.path.join(BASE_DIR, 'templates')]......}, ]........# 如需要連接數據庫,通過下面的方法進行配置連數據庫連接,本實例沒有連接數據庫 # Database # https://docs.djangoproject.com/en/1.11/ref/settings/#databases#DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'blog', # 'USER': 'scm', # 'PASSWORD': '123456', # 'HOST': '192.168.27.100', # 'PORT': '3306', # } #}........# Internationalization # https://docs.djangoproject.com/en/1.11/topics/i18n/LANGUAGE_CODE = 'zh-Hans'#'en-us'TIME_ZONE = 'Asia/Shanghai'#'UTC'........# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.11/howto/static-files/STATIC_URL = '/static/' # 配置靜態文件的路徑 STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), ]........# 配置控制臺打印SQL語句,連接數據庫的時候,用來查看具體執行的SQL語句是什么 #LOGGING = { # 'version': 1, # 'disable_existing_loggers': False, # 'handlers': { # 'console': { # 'class': 'logging.StreamHandler', # }, # }, # 'loggers': { # 'django': { # 'handlers': ['console'], # 'level': 'DEBUG', # }, # }, #}

在項目根目錄下創建目錄 static, 將 jquery-3.2.1.min.js 拷貝到 static 下面。

配置 ajax/__init__.py (需要連接數據庫的時候才配置)

由于django-1.11 版本不支持mysqldb引擎,所以需要使用pymysql替代mysqldb引擎

import pymysql pymysql.install_as_MySQLdb()

配置 ajax/urls.py

from django.conf.urls import url, includeurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^app01/', include('app01.urls')), ]

配置 app01/urls.py

urlpatterns = [url(r'^test/$', views.test),url(r'^test_ajax/$', views.test_ajax), ]

app01/views.py 代碼

from django.shortcuts import render, HttpResponse# Create your views here.def test(request):return render(request, 'test.html')def test_ajax(request):print(request)v1 = request.POST.get('v1')v2 = request.POST.get('v2')name = request.POST.get('name')age = request.POST.get('age')# v1 = request.GET.get('v1')# v2 = request.GET.get('v2')# name = request.GET.get('name')# age = request.GET.get('age')ret = int(v1) + int(v2)print(v1)print(v2)print(ret)print('-' * 30)print('{}:{}'.format(name, age))return HttpResponse(ret)

在 templates 下創建 html 文件 test.html

  • 寫法1
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title></head> <body><input type="text" id="i1" placeholder="v1"> + <input type="text" id="i2" placeholder="v2"> = <input type="text" id="i3" placeholder="ret=v1+v2"> <!--<button id="submit">AJAX請求</button>--> <input type="button" id="submit" value="AJAX請求"><script src="/static/jquery-3.2.1.min.js"></script> <script>$("#submit").on("click", function () {$.post("http://127.0.0.1:8888/app01/test_ajax/",{'v1': $('#i1').val(), 'v2': $('#i2').val(), 'name': 'lady', 'age': 23},function (retdata) {console.log(retdata);$('#i3').val(retdata);});}); </script></body> </html>
  • 寫法2
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title></head> <body><input type="text" id="i1" placeholder="v1"> + <input type="text" id="i2" placeholder="v2"> = <input type="text" id="i3" placeholder="ret=v1+v2"> <!--<button id="submit">AJAX請求</button>--> <input type="button" id="submit" value="AJAX請求"><script src="/static/jquery-3.2.1.min.js"></script> <script>$("#submit").on("click", function () {$.ajax({url: "/app01/test_ajax/",type: 'POST',data: {'v1': $('#i1').val(), 'v2': $('#i2').val(), name: 'lady', age: 23},success: function (retdata) {console.log(retdata);$('#i3').val(retdata);}});}); </script></body> </html>

提示:

  • 以上兩種寫法中,get方法和post方法都可以通過 data 提交數據,
    • post 方法提交的時候是通過 Form Data 表單數據的方式提交的
    • get 方法提交的時候是通過 Query String 查詢字符串的方式提交的
  • test.html文件中ajax請求的url可以是以下的兩種方式:
    • url: "http://127.0.0.1:8888/app01/test_ajax/"
    • url: "/app01/test_ajax/"
  • test.html文件中的url必須要和Django中的路由urls.py中的url 一致;同時有后綴 '/' 或同時沒有 "/", 否則回404.
    python urlpatterns = [ url(r'^test/$', views.test), url(r'^test_ajax/$', views.test_ajax), # 如果test.html中ajax請求的url有后綴 "/",那么這里一定也要有 '/' 后綴。 ]

啟動server

python manage.py runserver

轉載于:https://www.cnblogs.com/shichangming/p/10850366.html

總結

以上是生活随笔為你收集整理的JQuery之ajax异步请求Django后端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。