Django request.POST获取提交的表单数据

在Django中,request.POST 是一个特殊的属性,它是一个类似于字典的对象,用于访问通过POST方法提交的表单数据。如果你在视图中使用 print(request.POST.get('username')),这通常意味着你正在尝试从一个HTML表单中获取一个名为 username 的字段的值。

1,添加视图函数

myshop/app2/views.py

复制代码
from django.http import HttpResponse
from django.shortcuts import render
from django.urls import reverse
def index(request):
    return HttpResponse("app2 的index")

# 反向解析
def url_reverse(request):
    # 使用reverse()方法反向解析
    print('解析结果:'+ reverse("app2_url_reverse"))  #  使用reverse()方法反向解析 ,reverse("app2_url_reverse") 对应urls的 name='app2_url_reverse'
    return render(request, "2/url_reverse.html")


def test_get(request):
    print(request.get_host()) # 域名加端口
    print(request.build_absolute_uri()) # 获取完整的请求URI,包括查询字符串
    print(request.path) # 获取访问路径,不含参数
    print(request.get_full_path()) # 获取访问路径,不含参数
    print(request.method) # 获取请求中使用的HTTP方式(POST/GET)
    print(request.GET)  # 获取GET请求的参数
    print(request.META["HTTP_USER_AGENT"]) # 用户浏览器的user-agent字符串
    print(request.META["REMOTE_ADDR"]) # 客户端IP地址
    print(request.GET.get('username')) # 获取get参数

    return HttpResponse("")

# 获取请求中的使用HTTP方式(POST/GET)
def test_post(request):
    print(request.method)
    print(request.POST.get('username'))
    return render(request, '2/test_post.html')

2,添加路由路径

myshop/app2/urls.py

复制代码
from django.urls import path, re_path
from . import views


urlpatterns = [
    path('index', views.index, name='index'),
    path('url_reverse', views.url_reverse, name='app2_url_reverse'), #  使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse")

    path('test_get', views.test_get, name='test_get'),

    path('test_post', views.test_post, name='test_post'),
]

3,添加html代码

myshop/templates/2/test_post.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form method="POST">
  {% csrf_token %}
  <p>用户名</p>
  <input type="text" name="username">
  <input type="submit" value="提交">
</form>

</body>
</html>

4,访问页面

http://127.0.0.1:8000/app2/test_post

相关推荐
计算机编程-吉哥8 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
troy12815 小时前
Codex 安全盲区:代码漏洞生成实测
windows·python·ci/cd·pycharm·django·github·fastapi
ikun_文17 小时前
Django开启跨域请求
python·pycharm·django
高级程序源19 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计
专业程序开发源20 小时前
springboot篮球联赛管理系统13635-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
溪语流沙20 小时前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
烂蜻蜓20 小时前
Django入门教程(二十):博客项目实战(一)——环境搭建与第一个Django页面
django
程序员阿黄21 小时前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
高级程序源2 天前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
IT毕设实战小研2 天前
基于大数据的商场商铺数据分析与可视化的设计与实现
android·java·大数据·django·课程设计