表單介紹

    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. 安装python的注意事项

    第一步: 下载安装文件  python-3.5.2.exe 第二步: 点击安装,下一步继续 第三步: 配置环境变量,记住第一次安装时的路径. 第四步: 测试,打开CMD,输入python.若未找到命令 ...

  2. GPU 实现 RGB -- YUV 转换 (OpenGL)

    GPU 实现 RGB -- YUV 转换 前言 RGB --> YUV 转换的公式是现成的,直接在 CPU 端转换的话,只需要遍历每个像素,得到新的 YUV 值,根据其内存分布规律,合理安排分布 ...

  3. json_encode详解

    <?php $json = Array ( "a" => "php" , "b" => "mysql" ...

  4. 错误:Invalid action class configuration that references an unknown class named [XXX]的解决

    问题: 用http的方式直接调用类,执行完毕后报错误信息Invalid action class configuration that references an unknown class name ...

  5. Linux 下 编译Xerces-c++

    按照 doc/html 文件夹中的详细指导编译 Xerces-C++ 共享库. 下面的命令展示了如何用压缩的源文件编译 Xerces-C++ 库. 这里假定在像 /home/ 这样的目录中有 xerc ...

  6. DirectX SDK (June 2010)安装错误S1023的一个解决方法

    在安装DXSDK_Jun10.exe时一个常见的安装失败的代号是S1023,一般出现这种错误的原因是系统中已经安装了Visual Studio 2010及以上的版本. 在[控制面板]中找到这两个: 如 ...

  7. wer

    概述 快速入门流程: 使用叮当扫码产品请遵循以下操作步骤: 1. 新建项目信息 2. 新建产品信息 3. 添加发货产品 4. 发货 5. 收货 (具体使用操作请查看详细的使用说明) 文档目的: 本文档 ...

  8. TCP全连接队列和半连接队列已满之后的连接建立过程抓包分析[转]

    最近项目需要做单机100万长连接与高并发的服务器,我们开发完服务器以后,通过自己搭的高速压测框架压测服务端的时候,发生了奇怪的现象,就是服务端莫名其妙的少接收了连接,造成了数据包的丢失,通过网上查资料 ...

  9. 个性化推荐调优:重写spark推荐api

    最近用spark的mlib模块中的协同过滤库做个性化推荐.spark里面用的是als算法,本质上是矩阵分解svd降维,把一个M*N的用户商品评分矩阵分解为M*K的userFeature(用户特征矩阵) ...

  10. Vue.js搭建路由报错 router.map is not a function,Cannot read property ‘component’ of undefined

    错误: 解决办法: 2.0已经没有map了,使用npm install vue-router@0.7.13 命令兼容1.0版本vue 但是安装完之后会出现一个错误: Cannot read prope ...