HTML-form表单和提交

news2024/9/18 22:02:52

网络请求

在浏览器的URL中写入地址,点击回车访问时

        浏览器会发送数据过去,本质上发送的是字符串

浏览器向后端发送请求时

GET请求【URL方法/表单提交】

现象:向后台传入数据,数据会拼接在URL上

搜索百度时:

https://cn.bing.com/search?q=百度form=ANNTH1&refig=0005c32289da4afe9c9a61288618e761

POST请求【表单提交】

现象:提交数据不在URL中,而是在请求体中

结合上篇内容做一个简单注册界面 :

Python代码

from flask import Flask,render_template,request

app = Flask(__name__)

@app.route('/register',methods=['GET','POST'])#接受的请求可以是'GET'和'POST'
def register():

    return render_template('register.html')#返回我们写的register.html 界面
#下面两个选一个即可,注册界面一般是选取POST请求
@app.route('/do/re',methods=['GET'])
def do_re():
    #1.接收用户通过GET形式传过来的数据
    user = request.args.get("USER")
    pwd = request.args.get("PWD")
    sex = request.args.get("sex")
    hobby_list = request.args.getlist("hobby")
    city = request.args.get("city")
    skill_list = request.args.getlist("fav")
    more = request.args.get("beizhu")
    print(user,pwd,sex,hobby_list,city,skill_list,more)
    print(request.args)
    #2.返回结果
    return "注册成功"

@app.route('/post/re',methods=['POST','GET'])
def post_re():
    #1.接收用户通过POST形式传过来的数据
    user = request.form.get("USER")
    pwd = request.form.get("PWD")
    sex = request.form.get("sex")
    hobby_list = request.form.getlist("hobby")
    city = request.form.get("city")
    skill_list = request.form.getlist("fav")
    more = request.form.get("beizhu")
    print(user,pwd,sex,hobby_list,city,skill_list,more)
    print(request.form)
    #2.返回结果
    return "注册成功"

if __name__ == '__main__':
    app.run()

 HTML代码

<form method="post" action="/post/re">的意思是只能接收post请求,之后跳转到python代码中的/post/re页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>


<body>
<h1>用户注册</h1>
<form method="post" action="/post/re">
<div>
  用户名:<input type="text" name="USER"/>
</div>
<div>
  密码:<input type="password" name="PWD"/>
</div>
<div>
  选择性别:<input type="radio" name="sex" value="1">男<input type="radio" name="sex" value="2">女
</div>

<div>
  爱好:<input type="checkbox" name="hobby" value="10">羽毛球
      <input type="checkbox" name="hobby" value="11">听音乐
      <input type="checkbox" name="hobby" value="12">打游戏
      <input type="checkbox" name="hobby" value="13">篮球


</div>
<div>
  城市:
  <select name="city">
    <option value="bj">北京</option>
    <option value="sh">上海</option>
    <option value="sz">南京</option>
  </select>
</div>
<div>
  擅长领域:
  <select multiple name="fav">
    <option value="eat">吃饭</option>
    <option value="sleep">睡觉</option>
    <option value="Browse TikTok">刷抖音</option>
  </select>
</div>
<div>
  备注:<textarea rows="5" name="beizhu"></textarea>
</div>
<div>
  <input type="button" value="button提交">
  <input type="submit" value="submit提交">
</div>
</form>
</body>
</html>

 以下是效果图:

 填完信息后点击submit提交,会返回注册成功

 

 pycharm里会返回填写的数据

 值得一提的是,Python代码可以简写成这样:

from flask import Flask,render_template,request

app = Flask(__name__)

@app.route('/register',methods=['GET','POST'])
def register():#进行判断,当是get请求时,返回register.html界面
    if request.method == "GET":
        return render_template('register.html')
    else:
        user = request.args.get("USER")
        pwd = request.args.get("PWD")
        sex = request.args.get("sex")
        hobby_list = request.args.getlist("hobby")
        city = request.args.get("city")
        skill_list = request.args.getlist("fav")
        more = request.args.get("beizhu")
        print(user,pwd,sex,hobby_list,city,skill_list,more)
        print(request.args)
    #2.返回结果
    return "注册成功"



if __name__ == '__main__':
    app.run()

总结:

HTML:超文本传输语言

HTML标签与编程语言无关

        java+HTML

        Python+HTML

        php+HTML

        C#+HTML

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十四、Pytorch实现RNN Classifier

一、项目需求 数据集&#xff1a;姓名和对应的国籍 要求&#xff1a;输入一个姓名&#xff0c;通过模型可以得到TA所属的国籍 数据集下载&#xff1a;name_country_datasets 二、思路步骤分析 ①准备数据集 将下载好的数据集解压&#xff0c;放到一个指定的位置&#xff0c…

文心一格小程序,AI绘画产品

文章目录AIGC什么是AI作画&#xff1f;Prompt文心一格文心一格小程序使用方法使用小程序进行AI绘图AIGC的未来发展结语AIGC AIGC&#xff08;AI Generated Content&#xff09;是指利用人工智能生成内容。是利用人工智能来生成你所需要的内容&#xff0c;GC的意思是创作内容。与…

samba介绍和使用

一. 介绍 Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。 Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通…

【Obsidian】基础使用手册(包括如何将Obsidian页面设置为中文)

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于工具类软件的笔记 &#x1f236;本篇是Obsidian的基础使用 Obsidian的基础使用将页面设置为中文常用的默认快捷键常用的格式标题代码块表格字体样式列表任务列表官方下载地址&am…

中国电子学会2022年12月份青少年软件编程Python等级考试试卷六级真题(含答案)

一、单选题(共25题&#xff0c;共50分) 1.数据文件“abc.txt”中包含若干个英文单词&#xff0c;如图所示&#xff1a; 读取文件“abc.txt”中数据的Python程序段如下&#xff1a; file abc.txt word_b [] for word in open(file):if word[0:1] a and len(word)>4:wor…

ASP学生公寓管理系统的设计与实现

学生公寓是每一位在校学生生活、学习、相互交流的主要场所&#xff0c;如何提供一个良好的学生公寓的管理体系&#xff0c;对学校和同学而言至关重要。以往的学生公寓管理基本上还处于人工操作的阶段&#xff0c;随着计算机技术和网络技术的日益广泛应用&#xff0c;采用计算机…

Oracle基础部分三(视图、物化视图、序列、同义词、索引)

Oracle基础部分三(视图、物化视图、序列、索引&#xff09;1 视图1.1概述1.2 创建普通视图1.2.1 创建普通视图1.2.2 创建带检查约束的视图1.2.3 创建只读视图的创建与使用1.2.4 强制创建视图1.2.5 创建复杂视图1.2.5.1 多表关联1.2.5.2 分组聚合统计的复杂视图1.3 创建物化视图…

强化学习简介

1.强化学习简介 **强化学习&#xff08;Reinforcement Learning&#xff0c;RL&#xff09;**是机器学习中的一个领域&#xff0c;是学习“做什么&#xff08;即如何把当前的情景映射成动作&#xff09;才能使得数值化的收益信号最大化”。学习者不会被告知应该采取什么动作&a…

CDN(内容分发网络)技术原理

1. 前言 Internet的高速发展&#xff0c;给人们的工作和生活带来了极大的便利&#xff0c;对Internet的服务品质和访问速度要求越来越高&#xff0c;虽然带宽不断增加&#xff0c; 用户数量也在不断增加&#xff0c;受Web服务器的负荷和传输距离等因数的影响&#xff0c;响应速…

认证 (authentication) 和授权 (authorization) 的区别

以前一直傻傻分不清各种网际应用中 authentication 和 authorization, 其实很简单: 这两个术语通常在安全性方面相互结合使用&#xff0c;尤其是在获得对系统的访问权限时。两者都是非常重要的主题&#xff0c;通常与网络相关联&#xff0c;作为其服务基础架构的关键部分。然而…

vite+vue3+pinia+vuex4动态路由解决刷新页面丢失

目录 了解如何添加动态路由 使用pinia持久化数据 解决方案 404找不页面问题 目前解决思路 完整路由配置 动态路由使用的数据 了解如何添加动态路由 vue官网-动态添加路由 使用pinia持久化数据 pinia的使用 解决方案 asyncRoutes()方法从pinia获取到动态菜单数据登陆成…

SpringMVC 01 -SpringMVC入门

高效学习习惯啊 坚持&#xff0c;比如这样经常更新博客&#xff0c;保持学习哈哈哈 SpringMVC-SpringMVC引入1 SpringMVC引入1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处1.2.3 执行流程【重点】2 快速入门2.1 导入依赖2.2 配置核心(前端)控制器2.3 springmvc核心配置文件2.4 创建…

开心档之C++ 修饰符类型

C 修饰符类型 目录 C 修饰符类型 实例 C 中的类型限定符 C 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义&#xff0c;所以它更能满足各种情境的需求。 下面列出了数据类型修饰符&#xff1a; signedunsignedlongshort 修饰符 signed、…

Gitlab中Pipeline语法六

Gitlab中Pipeline语法 needs/include/extends nodes 阶段并行 - 可以无序执行作业,无序按照阶段顺序运行某些作业,可以让多个阶段同时运行. - 如果nedds:设置为指向因only/except规则而未实例化的作业,或者不存在,则创建管道时会出现yaml错误. stages:- build- test- depl…

Moviepy模块之视频添加字幕(二)

文章目录前言一、素材1.1 原视频1.2 字幕文件二、视频添加字幕2.1 引入库2.2 加载视频文件2.3 设置字幕的字体、大小、颜色2.4 加载字幕文件2.5 设置字幕位置2.6 将字幕添加到视频中2.7 保存带有字幕的视频文件三、新视频效果总结前言 大家好&#xff0c;我是空空star&#xff…

2023蓝桥杯C++A组题解(第十四届)

面向爆零选手 水平有限&#xff0c;将就着看&#xff0c;有空再补充后5题 目录 &#x1f92f;吐槽 &#x1f61f;A&#xff0c;2067: [蓝桥杯2023初赛] 幸运数 &#x1f61f;B&#xff0c;2068: [蓝桥杯2023初赛] 有奖问答 &#x1f33c;AC DFS &#x1f33c;AC DP &a…

Apache 配置与应用

目录构建虚拟 Web 主机基于域名的虚拟主机1&#xff0e;为虚拟主机提供域名解析2.为虚拟主机准备网页文档3.添加虚拟主机配置4.设置访问控制5.加载独立的配置文件6.在客户机中访问虚拟 Web 主机基于IP地址的虚拟主机基于端口的虚拟主机Apache 连接保持构建Web虚拟目录与用户授权…

基于html+css的盒子展示3

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

[ 应急响应基础篇 ] 使用 Process Explorer 进程分析工具分析系统进程(附Process Explorer安装教程)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

《C Primer Plus》第17章复习题与编程练习

《C Primer Plus》第17章复习题与编程练习复习题1. 定义一种数据类型涉及哪些内容&#xff1f;2. 为什么程序清单17.2只能沿一个方向遍历链表&#xff1f;如何修改struct film定义才能沿两个方向遍历链表&#xff1f;3. 什么是ADT&#xff1f;4. QueueIsEmpty()函数接受一个指向…