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. 关于decimal非常浅显的学习与整理

    关于decimal非常浅显的学习与整理 背景知识 整数,小数,浮点,定点 整数(Integer)是没有小数部分的数值,可以是正数.负数或零.在计算机中,整数通常以二进制形式存储. 小数(Decimal ...

  2. [转帖]tidb 搭建私有镜像库

    https://docs.pingcap.com/zh/tidb/stable/tiup-mirror 在构建私有云时,通常会使用隔离的网络环境,此时无法访问 TiUP 的官方镜像.因此,TiUP 提 ...

  3. [转帖]021系统状态检测命令sosreport

    https://www.cnblogs.com/anyoneofus/p/16467677.html   sosreport命令用于收集系统配置及架构信息并输出诊断文档.

  4. Python学习之十一_Windows获取硬件信息

    Python学习之十一_Windows获取硬件信息 简介 网上找了一些方法简单整理了下,可以快速获取部分信息 包含机器名称等. 以及序列号相关 部分学习来源: https://blog.51cto.c ...

  5. 基于javaPoet的缓存key优化实践

    一. 背景 在一次系统opsreview中,发现了一些服务配置了@Cacheable注解.@cacheable 来源于spring cache框架中,作用是使用aop的方式将数据库中的热数据缓存在re ...

  6. 如何用etcdctl产生分布式环境中的递增ID

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 用golang代码当然很简单,我这里是在shell环境中, ...

  7. [postgres]配置主从异步流复制

    前言 环境信息 IP 角色 操作系统 PostgreSQL版本 192.168.1.112 主库 Debian 12 15.3 192.168.1.113 从库 Debian 12 15.3 配置主从 ...

  8. C/C++ 获取主机网卡MAC地址

    MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址.这个地址是数据链路层(OSI模型的第二层)的 ...

  9. 20.6 OpenSSL 套接字分发RSA公钥

    通过上一节的学习读者应该能够更好的理解RSA加密算法在套接字传输中的使用技巧,但上述代码其实并不算完美的,因为我们的公钥和私钥都必须存储在本地文本中且公钥与私钥是固定的无法做到更好的保护效果,而一旦公 ...

  10. C/C++ ShellCode 常用加密方式

    异或加密ShellCode: #include <stdio.h> #include <Windows.h> unsigned char buf[] = "\xba\ ...