Flask從入門到入土(四)——登錄實現
表單介紹
1.表單標籤
聲明表單的範圍,位於表單標籤中的元素將被提交
語法: <form> </form>
屬性: Method(提交方式get,post) , Enctype(編碼) , action(提交方向)
2.表單域
<input ...> 屬性:type,name,value
文本框 <type="text">
密碼框 <type="password">
文本區域<type="textarea">
單選框 <type=radio>
復選框 <type=checkbox>
3.表單按扭
提交按鈕
復位按鈕
一般按鈕
代碼如下:
// index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<h6>帳號驗證</h6>
</div> <form action="/login" method="POST">
<h6>text</h6>
<input type="text" name="username"><br>
<h6>password</h6>
<input type="password" name="password"><br>
<h6>textarea</h6>
<input type="textarea" name="textarea"><br>
<h6>radio</h6>
<input type="radio" name="radio"><br>
<h6>checkbox</h6>
<input type="checkbox" name="checkbox"><br>
</form>
<h6>{{get_flashed_messages()[0]}}</h6>
</body>
</html>
// main.py
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__=='__main__':
app.run()
運行結果:

表單的提交方式
POST
GET
實戰:用 Flask 开发用户管理
用戶登錄界面,默認用戶名爲 flask , 密碼爲 123123
登錄成功則顯示登錄成功。
------index.html-------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>User Login</title>
</head>
<body>
<div>
<h6>User Login</h6>
</div> <form action="/login" method="POST">
<h6>用戶名:</h6>
<input type="text" name="username"><br>
<h6>密碼:</h6>
<input type="password" name="password"><br>
<input type="submit" name="submit"><br>
</form>
<font size="20">{{get_flashed_messages()[0]}}</font>
</body>
</html>
------main.py-------
from flask import Flask,render_template,request,flash app = Flask(__name__)
app.secret_key = ''
@app.route('/')
def index():
return render_template('index.html') @app.route('/login',methods=['POST'])
def login():
form = request.form
username = form.get('username')
password = form.get('password')
if not password:
flash("請輸入密碼!")
return render_template('index.html')
if not username:
flash("請輸入用戶名!")
return render_template('index.html')
if username == 'flask' and password == '':
return '<font size="50">登錄成功</font>'
else:
flash("錯誤")
return render_template('index.html') if __name__=='__main__':
app.run()
運行結果:





Flask從入門到入土(四)——登錄實現的更多相关文章
- Flask從入門到入土(三)——模板
模板是一個包含響應文本的文件,其中包含佔位變量表示的動態部分,其具體值只是請求上下文中才能知道.使用真實值替換變量,再返回最終得到的響應字符串,這一過程稱爲渲染.爲了渲染模板,Flask使用了一個名爲 ...
- Flask從入門到入土(二)——請求响应與Flask扩展
———————————————————————————————————————————————————————————— 一.程序和請求上下文 Flask從客戶端收到請求時,要讓視圖函數能訪問一些對象 ...
- Flask從入門到入土(三)——Web表單
Flask-WTF擴展可以把處理Web表單的過程變成一種愉悅的體驗.這個擴展對獨立的WTForms包進行了包裝,方便集成到Flask程序中. Flask-WTF及其依賴可使用pip安裝: pip in ...
- Flask從入門到入土(一)——程序的基本結構
一.初始化 所有Flask程序都必須創建一個程序實例.Web服務器使用一種名爲Web服務器網關接口的協議,把接收自客戶端的所有請求都轉交給這個對象處理.程序實例書Flask類的對象,創建代碼: fro ...
- Flask從入門到入土(五)——Flask与数据库
import sqlite3 def init_db(): sql = 'create table user(id INT,name TEXT)' conn = sqlite3.connect(&qu ...
- QQ登錄實現功能
<html> <head> <title></title> </head> <body> <form> <p& ...
- GOOGLE搜索從入門到精通V4.0
1,前言2,摘要3,如何使用本文4,Google簡介5,搜索入門6,初階搜索 6.1,搜索結果要求包含兩個及兩個以上關鍵字 6.2,搜索結果要求不包含某些特定資訊 6.3,搜索結果至少包含多個關鍵字中 ...
- Delphi APP 開發入門(四)簡易手電筒
Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:32 ...
- Delphi APP 開發入門(八)SQLite資料庫
Delphi APP 開發入門(八)SQLite資料庫 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次 ...
随机推荐
- BIGIP-LTM中的NAT和SNAT
http://250688049.blog.51cto.com/643101/1095880 一.NAT(Network Address Translation)网络地址转换1.NAT简介 NAT ...
- 序列化和Json
实现了python与python程序之间内存的交互 常用场景: 1 把内存的数据写到磁盘 2 socket只能传字符串,二进制,通过序列化 ============================== ...
- linux_硬件信息
运维关注哪些方面? CPU:对计算机工作速度和效率起决定性作用(intel amd) 内存: 临时存放数据:容量和处理速度,决定数据传输快慢 硬盘(disk):数据持久化,决定电脑反应速度:优化硬盘是 ...
- python_如何在循环引用中管理内存?
案例: python中通过引用计数来回收垃圾对象,在某些环形数据结构(树,图--),存在对象间的循环引用,比如树的父节点引用子节点,子节点同时引用父节点,此时通过del掉引用父子节点,两个对象不能被立 ...
- python_如何获取文件状态
案例: 在某项目中,需要获取文件状态,如: 文件的类型(普通文件.目录.符合连接.设备文件) 文件的访问权限 文件最后 访问.修改.节点状态 时间 普通文件大小 -- 如何解决? 方法1:通过os原始 ...
- python_计算1+……+100中偶数和
如何计算1+--+100中偶数和? 1. 把奇数去掉,通过if,判断累加数除以2的余数,是否为1,判断是否是奇数 2. 通过continue 跳过对奇数的累加 #!/usr/bin/python3 d ...
- 【转】shell脚本实现多台服务器自动巡检--可参考学习
shell脚本实现多台服务器自动巡检 摘要: 运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像 ...
- python中的线程之semaphore信号量
semaphore是一个内置的计数器 每当调用acquire()时,内置计数器-1 每当调用release()时,内置计数器+1 计数器不能小于0,当计数器为0时,acquire()将阻塞线程直到其他 ...
- c#写的热键注册程序
玩网页游戏挂机,又不想让别人看见你电脑的运行.所以写了个后台运行的程序. 先谁HotKey注册类,用来调用com组件来显示与隐藏窗体: using System; using System.Colle ...
- Spring对远程服务的支持
Java程序有以下的远程调用技术选择: 远程过程调用(RPC)是同步的,客户端在服务器端返回结果之前将一直被阻塞. 各种技术适用的场景如下: 典型的RMI开发的过程如下: 定义一个接口,用于客户端和服 ...