1、submit实现页面跳转,方法为get

    <h1>用户注册</h1>
<!-- 使用get方式提交,method为post/get,action保存提交到哪里 -->
<form method = "get"action="/do/reg" >
用户名:<input type="text" name="uu">
密码:<input type="password" name="pp">
<!--submit可以实现页面跳转,当加入form时-->
<!-- <input type = "button" value="button按钮">-->
<input type = "submit" value="submit按钮">
</form>
  • 点击submit按钮,会实现跳转
  • 信息会被传入到url中

页面上的数据,想要提交到后台:

  • form标签包裹所要提交的数据标签。
  • form标签中,定义method(提交方式),action(提交地址)
  • form标签中,必须有submit标签
  • 在form中的一些标签:input/select/textarea
    • 一定要写name属性
<input type="text" name="uu">

submit获取数据到后台:

from flask import Flask,render_template,request #头文件
@app.route("/do/reg", methods = ['GET'])
def do_register():
# 接收用户通过get形式发送过来的数据
print(request.args)
# 给用户返回结果,必须有return语句
return "注册成功"

2、submit实现页面跳转,方法为post

from flask import Flask,render_template,request #头文件
@app.route("/post/reg", methods = ['POST'])
def post_register():
# 接收用户通过post形式发送过来的数据
print(request.form)
# 给用户返回结果,必须有return语句
return "注册成功"
# action改成post即可
<h1>用户注册</h1>
<!-- 使用get方式提交,method为post/get,action保存提交到哪里 -->
<form method = "post"action="/post/reg" >
用户名:<input type="text" name="uu">
密码:<input type="password" name="pp">
<!--submit可以实现页面跳转,当加入form时-->
<!-- <input type = "button" value="button按钮">-->
<input type = "submit" value="submit按钮">
</form>

3、submit提交单选框、复选框、下拉框信息(post)

# 加上value值
# 单选框
<input type="radio" name = "gender" value = "1"> 男
<input type="radio" name = "gender" value = "2"> 女
# 复选框
<input type="checkbox" name="hobby" value = "10"> 篮球
<input type="checkbox" name="hobby" value = "20"> 足球
<input type="checkbox" name="hobby" value = "30"> 乒乓球
# 单选下拉框
<select name ="city">
<option value="bj">北京</option>
<option value="tj">天津</option>
</select>
# 可多选下拉框
擅长领域:
<select name ="good" multiple>
<option value="py">python</option>
<option value="ja">java</option>
</select>
# 拿到文本框数据
备注:<textarea name="more"></textarea>

- 要想让数据提交到后台,必须定义name属性

- 能提交到后台的数据,必须是用户能输入的数据

4、将用户信息获取出来

@app.route("/post/reg", methods = ['POST'])
def post_register():
# 接收用户通过post形式发送过来的数据
user = request.form.get("user")
pwd = request.form.get("pwd")
gender = request.form.get("gender")
# 当有多个答案产生时,使用getlist
hobby_list = request.form.getlist("hobby")
city = request.form.get("gender")
skill_list = request.form.getlist("skill")
more = request.form.get("more")
print(user,pwd,gender,hobby_list,city,skill_list,more)
# 将用户信息写入文件中实现注册、写入到excel中实现注册,写入到mysql中实现注册
# print(request.form)
# 给用户返回结果,必须有return语句
return "注册成功"

5、将get请求与post请求合二为一

@app.route('/register', methods = ['GET','POST'])
def register():
if request.methods =="GET":
return render_template('register.html')
else:
# 接收用户通过post形式发送过来的数据
user = request.form.get("user")
pwd = request.form.get("pwd")
gender = request.form.get("gender")
# 当有多个答案产生时,使用getlist
hobby_list = request.form.getlist("hobby")
city = request.form.get("gender")
skill_list = request.form.getlist("skill")
more = request.form.get("more")
print(user, pwd, gender, hobby_list, city, skill_list, more)
# 将用户信息写入文件中实现注册、写入到excel中实现注册,写入到mysql中实现注册
# print(request.form)
# 给用户返回结果,必须有return语句
return "注册成功"

记得修改html文件下的url

<form method = "post"action="/register" >

6、最终代码

# app.py
from flask import Flask,render_template,request app = Flask(__name__) @app.route('/register', methods = ['GET','POST'])
def register():
if request.methods =="GET":
return render_template('register.html')
else:
# 接收用户通过post形式发送过来的数据
user = request.form.get("user")
pwd = request.form.get("pwd")
gender = request.form.get("gender")
# 当有多个答案产生时,使用getlist
hobby_list = request.form.getlist("hobby")
city = request.form.get("gender")
skill_list = request.form.getlist("skill")
more = request.form.get("more")
print(user, pwd, gender, hobby_list, city, skill_list, more)
# 将用户信息写入文件中实现注册、写入到excel中实现注册,写入到mysql中实现注册
# print(request.form)
# 给用户返回结果,必须有return语句
return "注册成功" @app.route("/post/reg", methods = ['POST'])
def post_register():
# 接收用户通过post形式发送过来的数据
user = request.form.get("user")
pwd = request.form.get("pwd")
gender = request.form.get("gender")
# 当有多个答案产生时,使用getlist
hobby_list = request.form.getlist("hobby")
city = request.form.get("gender")
skill_list = request.form.getlist("skill")
more = request.form.get("more")
print(user,pwd,gender,hobby_list,city,skill_list,more)
# 将用户信息写入文件中实现注册、写入到excel中实现注册,写入到mysql中实现注册
# print(request.form)
# 给用户返回结果,必须有return语句
return "注册成功" if __name__ == '__main__':
app.run()
# register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户注册</h1>
<!-- 使用get方式提交,method为post/get,action保存提交到哪里 -->
<form method = "post"action="/register" >
<div>
用户名:<input type="text" name="user">
</div>
<div>
密码:<input type="password" name="pwd">
</div>
<div>
性别:
<input type="radio" name = "gender" value = "1"> 男
<input type="radio" name = "gender" value = "2"> 女
</div>
<div>
爱好:
<input type="checkbox" name="hobby" value = "10"> 篮球
<input type="checkbox" name="hobby" value = "20"> 足球
<input type="checkbox" name="hobby" value = "30"> 乒乓球
</div>
<div>
城市:
<select name ="city">
<option value="bj">北京</option>
<option value="tj">天津</option>
</select>
</div>
<div>
擅长领域:
<select name ="skill" multiple>
<option value="py">python</option>
<option value="ja">java</option>
</select>
</div>
<!--submit可以实现页面跳转,当加入form时-->
<!-- <input type = "button" value="button按钮">--> <div>
备注:<textarea name="more"></textarea>
</div>
<div>
<input type = "submit" value="submit按钮">
</div>
</form>
</body>
</html>

python-web:flask框架下的html实例——用户注册页面的更多相关文章

  1. 在Python的Flask框架下Address already in use [地址已在使用中]

    出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则很可能该进程仍然绑定到端口. 首先使用端口窗口查找进程 : sudo  lsof  - i : 5 ...

  2. 【Python】【Web.py】详细解读Python的web.py框架下的application.py模块

    详细解读Python的web.py框架下的application.py模块   这篇文章主要介绍了Python的web.py框架下的application.py模块,作者深入分析了web.py的源码, ...

  3. flask框架下的jinja2模板引擎(2)(过滤器与自定义过滤器)

    flask框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html 这篇论文主要用来记录下 jinja2 的过滤器. 什么是过 ...

  4. flask框架下的jinja2模板引擎(3)(模板继承与可以在模板使用的变量、方法)

    flask 框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html flask 框架下的jinja2模块引擎(2):http ...

  5. tornado 学习笔记2 Python web主流框架

    2.1 Django 官方网址:https://www.djangoproject.com/ 简介:Django is a high-level Python Web framework that e ...

  6. Python 的 Flask 框架安装应用

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...

  7. Python之Flask框架使用

    Flask和Django.Bottle号称Python中的强大又简单的Web框架. Flask是一个使用Python编写的轻量级Web应用框架.基于Werkzeug WSGI工具箱和Jinja2 模板 ...

  8. flask框架下的jinja2模板引擎(1)(模板渲染)

    #转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...

  9. Python的Flask框架入门-Ubuntu

    全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你 ...

  10. Python Web Flask源码解读(一)——启动流程

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

随机推荐

  1. [转帖]Linux之/etc/fstab文件讲解

    https://www.cnblogs.com/FengGeBlog/p/10178824.html /etc/fstab是用来存放文件系统的静态信息的文件.位于/etc/目录下,可以用命令less ...

  2. [转帖] 容器内的Linux诊断工具0x.tools

    https://www.cnblogs.com/codelogs/p/16242999.html 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# Linux上有 ...

  3. Concat、Push、Spread syntax性能差异对比

    今天在力扣上做了一道数组扁平化的题,按理来说,应该熟能生巧了,但是在使用concat时候超出了时间限制,使用push可以通过,代码如下: /** * @describe 使用concat,超出时间限制 ...

  4. vue插件实现表格拖拽 sortable 遇见的坑

    下载插件 npm install sortable.js --save (下载的时候一定要这样去下载,不要去下载 npm install sortable--save ) 因为sortable.js和 ...

  5. 简述if if和if else的关系与区别

    简述if if和if else的关系与区别 当满足条件1,条件2都会执行的哈. 双if是每一个if都会进行判断,依次对if进行判断,互相之间不会影响; if(条件1){ 要执行的语句; } if(条件 ...

  6. 【代码片段】fasthttp 中的输出使用 gzip 压缩

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 直接上代码: import ( "github. ...

  7. Vue基础系统文章07---webpack安装和配置与打包

    1.当前web开发困境 a.文件依赖关系错综复杂 b.静态资源请求效率低 c.模块化支持不友好 d.浏览器对高级js兼容性低 例如:模块代码实现隔行换色 1)在新建空白文件夹中运行:npm init ...

  8. 如何通过gRPC传输文件

    在gRPC中,可以通过将文件分割成多个小块,然后使用流式RPC将这些小块发送到服务器来传输文件.以下是一个简单的示例,展示了如何在gRPC中实现文件传输. 首先,我们需要定义一个服务来处理文件传输.在 ...

  9. Pytest 源码解读 [1] - [pluggy] 核心设计理念浅读

    背景: Pytest 是一个功能强大的 Python 测试框架,它使用了一个名为 "pluggy" 的插件系统来扩展其功能.在 Pytest 的源码中,pluggy 模块负责实现插 ...

  10. 2.6 Windows驱动开发:使用IO与DPC定时器

    本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果 ...