表單介紹

    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從入門到入土(四)——登錄實現的更多相关文章

  1. Flask從入門到入土(三)——模板

    模板是一個包含響應文本的文件,其中包含佔位變量表示的動態部分,其具體值只是請求上下文中才能知道.使用真實值替換變量,再返回最終得到的響應字符串,這一過程稱爲渲染.爲了渲染模板,Flask使用了一個名爲 ...

  2. Flask從入門到入土(二)——請求响应與Flask扩展

    ———————————————————————————————————————————————————————————— 一.程序和請求上下文 Flask從客戶端收到請求時,要讓視圖函數能訪問一些對象 ...

  3. Flask從入門到入土(三)——Web表單

    Flask-WTF擴展可以把處理Web表單的過程變成一種愉悅的體驗.這個擴展對獨立的WTForms包進行了包裝,方便集成到Flask程序中. Flask-WTF及其依賴可使用pip安裝: pip in ...

  4. Flask從入門到入土(一)——程序的基本結構

    一.初始化 所有Flask程序都必須創建一個程序實例.Web服務器使用一種名爲Web服務器網關接口的協議,把接收自客戶端的所有請求都轉交給這個對象處理.程序實例書Flask類的對象,創建代碼: fro ...

  5. Flask從入門到入土(五)——Flask与数据库

    import sqlite3 def init_db(): sql = 'create table user(id INT,name TEXT)' conn = sqlite3.connect(&qu ...

  6. QQ登錄實現功能

    <html> <head> <title></title> </head> <body> <form> <p& ...

  7. GOOGLE搜索從入門到精通V4.0

    1,前言2,摘要3,如何使用本文4,Google簡介5,搜索入門6,初階搜索 6.1,搜索結果要求包含兩個及兩個以上關鍵字 6.2,搜索結果要求不包含某些特定資訊 6.3,搜索結果至少包含多個關鍵字中 ...

  8. Delphi APP 開發入門(四)簡易手電筒

    Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:32 ...

  9. Delphi APP 開發入門(八)SQLite資料庫

    Delphi APP 開發入門(八)SQLite資料庫 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次 ...

随机推荐

  1. 华人开创NTP网络授时服务器成功投运世界级超大工程港珠澳大桥

    华人开创NTP网络授时服务器成功投运世界级超大工程港珠澳大桥 本文由北京华人开创公司提供请勿转载 2017年12月中旬,我华人开创生产研发的NTP网络授时服务器成功投运世界级超大工程港珠澳大桥,为这个 ...

  2. JFreeChart绘制折线图实例

    JFreeChart是JAVA平台上的一个开放的第三方图表绘制类库.只要下载JFreeChart的类库,导入项目即可使用.下面是一个绘制折线图的实例.各处注释都已经写的比较清晰了. package c ...

  3. 清除Chrome浏览器的历史记录、缓存

    习惯了用360卫士清理浏览器缓存.历史记录等垃圾文件,但是今天用360清理过后,打开谷歌浏览器Chrome时, 发现它的历史记录(CTRL+ H)根本没有被清理掉,经过一番探索后,可以通过下面方法清除 ...

  4. Java 生产者消费者模式详细分析

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  5. Linux Shell 文件描述符 及 stdin stdout stderr 重定向

    Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...

  6. 文件A包含文件B,找出A不包含B的那部分

    文件A: a f b e c d 文件B: b c a 目的:A包含B,找出A中有但B中没有的部分 代码: 首先利用dos2unix命令将windows文件转换为unix文件 dos2unix a.t ...

  7. 关于Spring的注入方式

      spring的三种注入方式: 接口注入(不推荐) getter,setter方式注入(比较常用) 构造器注入(死的应用) 关于getter和setter方式的注入: autowire=" ...

  8. Activity组件安全(下)

    什么是Activity劫持 简单的说就是APP正常的Activity界面被恶意攻击者替换上仿冒的恶意Activity界面进行攻击和非法用途.界面劫持攻击通常难被识别出来,其造成的后果不仅会给用户带来严 ...

  9. Netty 编解码技术 数据通信和心跳监控案例

    Netty 编解码技术 数据通信和心跳监控案例 多台服务器之间在进行跨进程服务调用时,需要使用特定的编解码技术,对需要进行网络传输的对象做编码和解码操作,以便完成远程调用.Netty提供了完善,易扩展 ...

  10. ado.net 参数传递之 in

    之前项目有一放行的功能,对某界面维护时(数据的增删改),先将数据保存到临时表中,放行后再真正的写入到库中.由于设计到主从表多中约束关系,所以当时我采用的是写一个存储过程来对某个界面的操作进行统一处理, ...