【Flask/跟着學習】Flask大型教程項目#00:Hello World!

前沿

注意注意注意,這是跟着學習欄目,就是跟着大牛們一起學習的一篇記錄
原鏈接:http://www.pythondoc.com/flask-mega-tutorial/index.html
這次學習的是flask框架,上面鏈接也有相對應模塊的代碼下載,十分方便學習
不過上述鏈接裏的教程內容跟下載內容有不小的區別
而且本人嘗試跟着教程裏的學習會出不少錯誤,所以之後的【跟着學習】都是按照下載內容裏的代碼結合上述鏈接裏的邏輯混搭着複述出來,也算是某種程度上的學習吧

要求

基本掌握python的語法,模塊和包的內容
運行環境:python3.x,windows系統

應用程序簡介

作爲本教程的一部分–我要開發的應用程序是一個極具特色的微博服務器,我稱之爲 microblog 。

  • 用戶管理,包括管理登錄,會話,用戶角色,權限以及用戶頭像。
  • 數據庫管理,包括遷移處理。
  • Web 表單支持,包括對各個字段的驗證。
  • 分頁處理。
  • 全文搜索。
  • 用戶郵件提醒。
  • HTML 模板。
  • 支持多國語言。
  • 緩存以及其它性能優化技術。
  • 開發以及生產服務器的調試技巧。
  • 在生產服務器上安裝。

安裝flask

現在我們必須開始安裝 Flask 以及一些我們會用到的擴展。我首選的方式就是創建一個 虛擬環境 ,這個環境能夠安裝所有的東西,而你的主 Python 不會受到影響。另外一個好處就是這種方式不需要你擁有 root 權限。
先爲python安裝好pip(網上很多教程,略過),一旦安裝好了 pip 的話,用下面的命令安裝 virtualenv:

 pip install virtualenv

選好一個自己喜歡的位置新建一個microblog的文件夾,在microblog目錄中使用如下的命令創建一個虛擬環境:

python -m venv flask

這時會在microblog文件夾內新建一個flask的文件夾,爲了創建一個虛擬環境,請輸入如下的命令行,在 flask 文件夾中創建一個完整的 Python 環境

virtualenv flask

接下來通過一系列的命令安裝flask擴展

pip install flask
pip install flask-login
pip install flask-openid
pip install flask-mail
pip install flask-sqlalchemy
pip install sqlalchemy-migrate
pip install flask-whooshalchemy
pip install flask-wtf
pip install flask-babel
pip install guess_language
pip install flipflop
pip install coverage

在 Flask 中的 “Hello, World”

爲應用程序創建基本的文件結構,沒有flask文件夾是因爲我並沒有把虛擬環境安裝到microblog裏面,實際上虛擬環境安裝到哪裏都沒有問題,因爲我用的是pycharm,所以只需要調用需要用到的虛擬環境即可,接下來的操作若沒有對應的文件請自行創建
在這裏插入圖片描述
我們的應用程序包是放置於 app 文件夾中
子文件夾 static 是我們存放靜態文件像圖片,JS文件以及樣式文件
子文件夾 templates 顯然是存放模板文件

讓我們開始爲我們的 app 包創建一個簡單的初始化腳本
傳給flask一ing用構造函數的__name__參數用來確定應用的位置,進而找到應用中其他文件的位置,比如圖像和模板
app/__init.py(其實是上面的init文件,兩邊都有下劃線的,這裏顯示不出兩邊下劃線)

from flask import Flask

app = Flask(__name__)
from app import routes

讓我們編寫第一個視圖函數:
其實這個視圖是非常簡單,它只是返回一個字符串,在客戶端的網頁瀏覽器上顯示。兩個 route 裝飾器創建了從網址 / 以及 /index 到這個函數的映射。
app/routes.py

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"

能夠完整工作的 Web 應用程序的最後一步是創建一個腳本,啓動我們的應用程序的開發 Web 服務器。讓我們稱這個腳本爲 microblog.py,並把它置於根目錄
debug=True是啓用調試模式
!!!千萬別在生產服務器中啓用調試模式!!!
根目錄

from app import app
app.run(debug = True)

運行,啓動!
在這裏插入圖片描述
在這裏插入圖片描述
成功!

碎碎念

1.路由和視圖函數:
客戶端(web瀏覽器)把請求發送給web服務器,web服務器再把請求發送給flask應用實例。應用實例需要知道對每個URL的請求要運行哪些代碼,所以保存了一個URL到python函數的映射關係,處理URL和函數之間關係的程序稱爲路由
2.調試模式:
flask應用可以在調試模式中運行,在這個模式下,開發服務器默認會加載兩個便利的工具:重載器調試器
啓動重載器後,flask會監視項目中的所有源碼文件,發現變動時自動重啓服務器,開發過程中運行啓動重載器的服務器特別方便,因爲每次修改並保存源碼文件後,服務器都會自動重啓,讓改動生效
調試器是一個基於web的工具,當應用拋出未處理的異常時,它會出現在瀏覽器中。

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