Flask小貼士

原文請點擊這里

404跳轉(zhuǎn)頁面

定義404跳轉(zhuǎn)頁面

@app.errorhandler(404)
def page_not_found(error):
    return render_template('page_not_found.html'), 404

手動跳轉(zhuǎn)404

abort(404)

SECRET_KEY的生成

import os
os.urandom(24)

多個url指向

@app.route('/')
@app.route('/index')

不管post/get使用統(tǒng)一的接收

from flask import request
args = request.args if request.method == 'GET' else request.form
a = args.get('a', 'default')

獲取post提交中的checkbox

{%for page in pages %}
<tr><td><input type=checkbox name=do_delete value="{{ page['id'] }}"></td><td>
{%endfor%}

page_ids = request.form.getlist("do_delete")

在request開始結(jié)束dosomething

from flask import g

app = .....

@app.before_request
def before_request():
    g.session = create_session()

@app.teardown_request
def teardown_request(exception):
    g.session.close()

注冊Jinja2模板中使用的過濾器

@app.template_filter('markdown')
def markdown(value):
    u'''
    markdown
    '''
    renderer = HighlightRenderer()
    markdown = mistune.Markdown(renderer=renderer)
    return markdown(value)

模板中使用多個過濾器

{{ art.content|markdown|safe }}

注冊Jinja2模板中使用的全局變量

JINJA2_GLOBALS = {'MEDIA_PREFIX': '/media/'}
app.jinja_env.globals.update(JINJA2_GLOBALS)

定義應(yīng)用使用的template和static目錄

app = Flask(__name__, template_folder=settings.TEMPLATE_FOLDER, static_folder = settings.STATIC_PATH)

上傳文件

<form action="/image/upload/" method="post" enctype="multipart/form-data">
<input type="file" name="upload" />

接收

f = request.files.get('upload')
img_data = f.read()

直接返回某個文件

return send_file(settings.TEMPLATE_FOLDER + 'tweet/tweet_list.html')

獲取用戶真實ip

real_ip = request.headers.get('X-Real-Ip', request.remote_addr)

return json & jsonp

import json
from flask import jsonify, Response, json

data = [] # or others
return jsonify(ok=True, data=data)

jsonp_callback =  request.args.get('callback', '')
if jsonp_callback:
    return Response(
            "%s(%s);" % (jsonp_callback, json.dumps({'ok': True, 'data':data})),
            mimetype="text/javascript"
            )
return ok_jsonify(data)

在flask中執(zhí)行sql

sql = 'select * from table'
db.session.connection().execute(sql).fetchall()

返回如下格式

[(u'Wendy Williams, wendy@aol.com',)]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怕犁,一起剝皮案震驚了整個濱河市阵子,隨后出現(xiàn)的幾起案子思杯,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件色乾,死亡現(xiàn)場離奇詭異誊册,居然都是意外死亡,警方通過查閱死者的電腦和手機暖璧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門案怯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澎办,你說我怎么就攤上這事嘲碱。” “怎么了局蚀?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵麦锯,是天一觀的道長。 經(jīng)常有香客問我琅绅,道長扶欣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任奉件,我火速辦了婚禮宵蛀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘县貌。我一直安慰自己,他們只是感情好凑懂,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布煤痕。 她就那樣靜靜地躺著,像睡著了一般接谨。 火紅的嫁衣襯著肌膚如雪摆碉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天脓豪,我揣著相機與錄音巷帝,去河邊找鬼。 笑死扫夜,一個胖子當(dāng)著我的面吹牛楞泼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播笤闯,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼堕阔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了颗味?” 一聲冷哼從身側(cè)響起超陆,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浦马,沒想到半個月后时呀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體张漂,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年谨娜,在試婚紗的時候發(fā)現(xiàn)自己被綠了航攒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞧预,死狀恐怖屎债,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垢油,我是刑警寧澤盆驹,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站滩愁,受9級特大地震影響躯喇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硝枉,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一廉丽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妻味,春花似錦正压、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雏逾,卻和暖如春嘉裤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栖博。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工屑宠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仇让。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓典奉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妹孙。 傳聞我的和親對象是個殘疾皇子秋柄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)蠢正,斷路器骇笔,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 22年12月更新:個人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,160評論 22 257
  • 第三章 模板(Templates) 編寫易于維護的程序的要點在于書寫干凈、良好結(jié)構(gòu)的代碼笨触。你以前所見的代碼都過于...
    易木成華閱讀 1,120評論 0 2
  • 在上一個章節(jié)懦傍,我們已經(jīng)創(chuàng)建了一個基礎(chǔ)的Blog程序。現(xiàn)在我們將使用一些Dajngo高級功能芦劣,去實現(xiàn)一個完整的blo...
    金金剛狼閱讀 3,575評論 1 12
  • 第十一章 博客文章 本章將實現(xiàn)Flasky博客的核心功能粗俱,允許用戶讀取和撰寫文章。你將學(xué)到一些關(guān)于模板重用虚吟、長項目...
    易木成華閱讀 1,000評論 0 1