flask學習筆記代碼篇-01

flask學習筆記01


from flask import Flask, render_template
# from config import DevConfig

app = Flask(__name__)

# 配置debug模式的3種方式

# 1.直接配置

# app.debug = True

# 2.從對象中加載配置

# class Config(object):

#     DEBUG = True

# app.config.from_object(Config)

# 3. 從文件中加載配置

app.config.from_pyfile('Config.ini')


@app.route('/', methods=['get', 'post'])

def index():

    return 'index'


# 通過傳入參數,來加載不同的信息

# <>定義路由的參數 <>內加入參數

@app.route('/orders/<order_id>')

def get_order_id(order_id):

    return 'order_id: %s' % order_id


# 渲染模板

@app.route('/temm')

def getMytem():

    urlstr = 'www.baidu.com'

    myint = 18

    mylist = [1, 2, 's', 'qwq', {'mame': 'laowang'}]

    mydict = {'name': 'hm', 'url': 'www.baidu.com'}

    return render_template('01-index.html', url_str=urlstr, url_int=myint, url_list=mylist, url_dict=mydict)


# 以裝飾器的形式添加自定義過濾器

@app.template_filter('lireverse')

# 方式二 app.add_template_filter(do_lireverse, 'lireverse')第一個參數函數名,第二個參數過濾器名

def do_lireverse(value):

    tem_li = list(value)

    tem_li.reverse()

    return tem_li


if __name__ == '__main__':

    print(app.url_map)

    app.run(host='0.0.0.0')

    # Rule 裝飾器 到 函數的映射關係, url_map 多個Rule的集合

    '''

     Map([<Rule '/temm' (GET, HEAD, OPTIONS) -> getMytem>,

     <Rule '/' (GET, POST, HEAD, OPTIONS) -> index>,

     <Rule '/orders/<order_id>' (GET, HEAD, OPTIONS) -> get_order_id>,

     <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>])

    '''

 

config.ini

DEBUG = True

 

01-index.html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>index</title>

</head>

<body>

這是模板

只是首頁

    {{ url_str }}

    {{ url_list }}

    {{ url_list.2 }}

    {{ url_dict }}

    {{ url_dict.url }}

    {{ url_int + url_list.1 }}

<hr>

    {%  for num in url_list %}

        {{ num }},

    {% endfor%}

<hr>

    {{ url_str | upper}}

    {{ url_str | reverse}}

    {{ url_str | reverse | upper | title}}

    {{ url_str | lireverse}}

</body>

</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章