表單介紹

    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. 优化 or 语句

    mysql 演示数据库:http://downloads.mysql.com/docs/sakila-db.zip 对于 or  语句,如果要利用索引,则 or 之间的每个条件都必须有索引 renta ...

  2. 译-BMC Remedy Action Request System权限控制概述

    原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于IT ...

  3. java常用类--字符串

    String import java.io.IOException; import java.util.Arrays; public class Linkin { public static void ...

  4. JAVA中实现让程序等待一段时间的方法

    JAVA中想让代码等待一段时间再继续执行,可以通过让当前线程睡眠一段时间的方式. 方法一:通过线程的sleep方法. Thread.currentThread().sleep(1000); 在需要程序 ...

  5. String.Format 格式化货币的小问题

    今天在开发过程中,遇到一件让我觉得比较纳闷的事情:用String.Format 格式化充值金额的时候,我这样处理: String.Format("{0:C2}", dr[" ...

  6. MySql按日期进行统计

    1 数据库字段pk_time(Varchar) 当天的数据 SELECT * FROM 表 WHERE date(fk_time) = curdate(); 当月的数据 SELECT *FROM 表 ...

  7. DNS服务器解析域名的过程

    最近在读许令波老师的<深入分析Java Web技术内幕>,算是对DNS服务器域名解析有个大体的理解,以下的内容来自个人对书中内容的整理 1.什么是域名解析? 当我们在浏览器的地址栏输入一个 ...

  8. 【转】5 Best Place to Learn Linux – Linux Tutorial Sites

    Linux have amazed every tech guy and make them curious to hands on Linux. Many of us not feel Linux ...

  9. WEB渗透测试之漏扫神器

    AppScan 对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试(DAST) 和交互式应用程序安全测试 (IAST).支持 Web 2.0. JavaScript 和 AJAX 框架的全 ...

  10. java之拦截器Interceptor

    1,拦截器的概念    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...