1. 程式人生 > >Python中的Flask基礎入門(二)

Python中的Flask基礎入門(二)

第一部分是過濾器

這是我們的py檔案

#1.匯入Flask擴充套件.
from flask import Flask#匯入我們的Flask框架
from flask import render_template#我們的返回值有兩種,如果要返回html,就需要匯入這個模組
#2.建立Flask應用程式例項,需要傳入_name_,作用是為了確定資源所在的路徑
app = Flask(__name__)

#3.確定路由及其檢視函式,@app為裝飾器
#Flask中定義路由是通過裝飾器實現的,裝飾器下面緊跟著我們定義的函式
#路由預設值只支援GET,如果想要其他的方法,那麼就新增method方法
@app.route('/',methods=['GET','POST'])
#這種是返回的字串內容
def hello_world():
    return 'Hello World!'
#這是返回HTML內容
@app.route('/login.html')
def login():
    url_str='www.baidu.com'
    url_list=[1,2,3,4,5]
    #通常,我們模板中(模板就是我們的html檔案)使用的變數名和要傳遞的資料名是一樣的
    return render_template('login.html',url_str=url_str,url_list=url_list)
#下面來實現使用一個檢視函式u,來實現不同的訂單資訊,order_id預設的是字串,如果想要特性的格式,那麼
#可以在前面加上型別
@app.route('/order/<int:order_id>')
def get_order_id(order_id):
    return 'order_id is %s' %order_id
#4.啟動程式
if __name__ == '__main__':
    #執行app.run就會將我們的Flask程式執行在一個簡單的伺服器上(伺服器有Flask提供,用於測試)
    app.run()

 我們的html檔案

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{#過濾器,字串大小寫轉換#}
{{ url_str | upper}}<br>
{#過濾器,字串大小寫轉換#}
{{ url_str | lower}}<br>
{#過濾器,字串中每個單詞的首字母大寫#}
{{ url_str|title}}
{#過濾器,字串翻轉#}
{{ url_str | reverse}}<br>
{#過濾器的鏈式呼叫#}
{{ url_str|upper|lower}}<br>
<hr>
{#下面是列表的操作。第一個元素,最後一個元素,長度,求和,排序#}
<p>{{ url_list|first}}</p>
<p>{{ url_list|last}}</p>
<p>{{ url_list|length}}</p>
<p>{{ url_list|sum}}</p>
<p>{{ url_list|sort}}</p>



</body>
</html>

第二部分是我們的表單驗證

from flask import Flask,request,render_template,flash
'''
在程式中如果想要給模板傳遞訊息,模板就是我們的網頁,就要用到flash(flash是需要加密的)來傳遞,那麼網頁如何接受我們的
訊息呢,,需要遍歷
'''

app = Flask(__name__)
app.secret_key='sun'

@app.route('/',methods=['GET','POST'])
def login_html():
    #request是我們的請求物件
        #1.request來獲取我們的請求方法
    if request.method == 'POST':
        #2.request獲取表單中的值
        username = request.form.get('username')
        password = request.form.get('password')
        acknowledge = request.form.get('acknowledge')
        if not all([username,password,acknowledge]):
            # print('請填完整內容')
            flash('請填完整內容')#如果要執行這條語句,那麼就會加密,把我們的上面加密的部分字串加入到這裡面
        elif password!=acknowledge:
            # print("兩次密碼不一致")
            flash('兩次密碼不一致')
        else:
            return 'success'
    return render_template('login.html')
if __name__ == '__main__':
    app.run(debug=True)

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登入介面</title>
</head>
<body>
<form method="post">
    <lable>使用者名稱:</lable><input type="text" name="username"><br>
    <lable>密碼:</lable><input type="text" name="password"><br>
    <lable>確認密碼:</lable><input type="text" name="acknowledge"><br>
    <input type="submit" value="提交"><br>
{#使用遍歷獲取閃現的訊息#}
    {% for message in get_flashed_messages() %}
        {{message}}
    {% endfor %}

</form>
</body>
</html>














</html>

上面就是我們的表單的驗證,是通過我們自己寫的html來實心的,大家如果有興趣可以使用WTFfroms擴充套件實現。