鍍金池/ 教程/ Python/ 針對高級程序員的前言
應用環(huán)境
配置管理
大型應用
可插撥視圖
Flask 方案
在 Shell 中使用 Flask
針對高級程序員的前言
使用藍圖的模塊化應用
部署方式
信號
排除應用錯誤
模板
請求環(huán)境
掌握應用錯誤
測試 Flask 應用
前言
教程
安裝
快速上手
Flask 擴展

針對高級程序員的前言

Flask 中的本地線程對象

Flask 的設計原則之一是簡單的任務不應當使用很多代碼,應當可以簡單地完成,但同時 又不應當把程序員限制得太死。因此,一些 Flask 的設計思路可能會讓某些人覺得吃驚, 或者不可思議。例如, Flask 內部使用本地線程對象,這樣就可以不用為了線程安全的 緣故在同一個請求中在函數(shù)之間傳遞對象。這種實現(xiàn)方法是非常便利的,但是當用于附屬 注入或者當嘗試重用使用與請求掛鉤的值的代碼時,需要一個合法的環(huán)境。 Flask 項目 對于本地線程是直言不諱的,沒有一點隱藏的意思,并且在使用本地線程時在代碼中進行 了標注和說明。

做網絡開發(fā)時要謹慎

做網絡應用開發(fā)時,安全要永記在心。

如果你開發(fā)了一個網絡應用,那么可能會讓用戶注冊并把他們的數(shù)據(jù)保存在服務器上。 用戶把數(shù)據(jù)托付給了你。哪怕你的應用只是給自己用的,你也會希望數(shù)據(jù)完好無損。

不幸的是,網絡應用的安全性是千瘡百孔的,可以攻擊的方法太多了。 Flask 可以防御 現(xiàn)代 Web 應用最常見的安全攻擊:跨站代碼攻擊( XSS )。 Flask 和 下層的 Jinja2 模板引擎會保護你免受這種攻擊,除非故意把不安全的 HTML 代碼放進來。但是安全攻擊 的方法依然還有很多。

這里警示你:在 web 開發(fā)過程中要時刻注意安全問題。一些安全問題遠比想象的要復雜 得多。我們有時會低估程序的弱點,直到被一個聰明人利用這個弱點來攻擊我們的程序。 不要以為你的應用不重要,還不足以別人來攻擊。沒準是自動化機器人用垃圾郵件或惡意 軟件鏈接等東西來填滿你寶貴的數(shù)據(jù)庫。

Flask 與其他框架相同,你在開發(fā)時必須小心謹慎。

Python 3 的情況

目前, Python 社區(qū)正處在改進庫的過程中,以便于加強對 Python 語言的新迭代的 支持。雖然現(xiàn)在情況已經有很大改善,但是還是存在一些問題使用戶難以下決心現(xiàn)在就 轉向 Python 3 。部分原因是 Python 語言中的變動長時間未經審核,還有部分原因是 我們還沒有想好底層 API 針對 Python 3 中 unicode 處理方式的變化應該如何改動。

我們強烈建議你在開發(fā)過程中使用 Python 2.6 或者 Python 2.7 ,同時打開 Python 3 警告。如果你計劃在近期升級到 Python 3 ,那么強烈推薦閱讀如何編寫向前兼容的 Python 代碼 。

如果你一定要使用 Python 3 ,那么請先閱讀 Python 3 支持 。

? Copyright 2013, Armin Ronacher. Created using Sphinx.

上一篇:大型應用下一篇:掌握應用錯誤