IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django命名空间、from表单、ajax的get方式以及post方式 -> 正文阅读

[Python知识库]django命名空间、from表单、ajax的get方式以及post方式

django命名空间

  • 给urls设置命名空间
from django.urls import path
from . import views

app_name = 'news'
urlpatterns = [
    path('', views.news, name='news'),
    path('news_detail/<news_id>/', views.news_detail, name='news_detail'),
    path('news_list/', views.news_list, name='news_list'),
]

  • 命名空间的使用
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p>新闻首页</p>
	<!--  <p><a href="news_detail/">新闻详情页</a></p>  -->
    <p><a href="{% url 'news:news_detail' 1 %}">新闻详情页</a></p>
</body>
</html>

django的ajax

  • from表单
    -get方式

        <from action="/text/" method="get">
            user: <input type="text">
            pwd: <input type="text">
            <input type="submit">
        </from>
    

    验证:

    def text_ajax(request):
        if request.method == 'GET':
            name = request.GET.get('name')
            pw = request.GET.get('pw')
            print(request.method)
            print(name)
            print(pw)
    
    • post需要添加csrftoken,其他的都相同
  • ajax方式
    ajax在django中使用ajax困扰了我几天时间,get方式可以直接使用,post则同样需要获取csrftoken,由于没太注意django控制台显示出的信息,一直看的只是浏览器的信息,报的是500的错误,也就是服务器内部错误,我以为是无法找到路由,结果网上查了几天,都没有结果,今天偶然间看到控制台信息,才知道是scrftoken没有携带。

    • urls中

      from django.urls import path
      from . import views
      
      app_name = 'text_ajax'
      urlpatterns = [
          path('text/', views.text_ajax, name='text_ajax'),
      ]
      
    • html

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
      </head>
      <body>
      <h3>功能1:发送ajax请求</h3>
      <p class="content"></p>这里的内容是空的
      <button class="btn">ajax</button>
      <p>
          <button id="btn">post</button>
      </p>
      <script>
          $('.btn').click(function () {
              $.ajax({
                  url: '/text/text/',
                  type: 'get',
                  data: {name: 'zs', pw: "123"},
                  success: function (data) {
                      console.log(data)
                      // $('.content').html(data)
                  }
              })
          })
      
          function getCookie(name) {
              var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
              return r ? r[1] : undefined;
          }
      
          $('#btn').click(function () {
              $.ajax({
                  url: '/text/text/',
                  type: 'post',
                  data: {name: 'zs', pw: "123"},
                  success: function (data) {
                      console.log(data)
                      $('.content').html(data)
                  },
                  headers: {
                      "X-CSRFToken": getCookie("csrftoken")
                  },
              })
          })
      </script>
      </body>
      </html>
      
    • views

      from django.shortcuts import render
      from django.http import HttpResponse, JsonResponse
      import json
      
      
      # Create your views here.
      def index(request):
          return render(request, "text_ajax.html")
      
      
      def text_ajax(request):
          if request.method == 'GET':
              name = request.GET.get('name')
              pw = request.GET.get('pw')
              print(request.method)
              print(name)
              print(pw)
          elif request.method == 'POST':
              name = request.POST.get('name')
              pw = request.POST.get('pw')
              print(request.method)
              print(name)
              print(pw)
              return HttpResponse("hello world!")
      
          return JsonResponse({"data": "hello world!"})
      
          # data = json.loads(request.body)
          # user = data.get('name')
          # print(user)
          # return HttpResponse(user)
      
      
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:46:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:08:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码