開始
已實現基本功能:
這兩年工作一直在用django,這些日子學習了flask,因此想自己寫一個教程,從入門到做出一個比較完整的個人博客,以檢驗自己所學。
項目所用環境為:python3.7, flask1.1.2,mysql8.0,軟件工具為VSCode
github地址:https://github.com/bingyunsky/flask_blog
一、創建虛擬環境
1.使用virtualenv命令創建虛擬環境,文件夾名稱為env。 --no-site-packages命令的使用,就不會復制已經存在的第三方安裝包。
進入env\Scripts,使用activate命令激活虛擬環境(退出環境命令:deactivate)
二、安裝flask
1、安裝:pip install flask
2、小例子開始
1) 創建文件夾app和初始文件__init__.py
2) 項目初始化
app/__init.py

1 #-*-coding:utf-8-*- 2 from flask import Flask 3 4 # 創建app應用,__name__是python預定義變量,被設置為使用本模塊 5 app = Flask(__name__) 6 7 from app import routes
3) 創建路由模塊
app/routes.py 此為主頁路由

#-*-coding:utf-8-*- # 從app模塊中導入app應用 from app import app # 建立路由,通過路由可以執行其覆蓋的方法,可以多個路由指向同一個方法。 @app.route('/') @app.route('/index') def index(): return "Hello world!"
4)在app模塊之外創建一個主入口來運行整個項目
myblog.py

#-*-coding:utf-8-*- from app import app # 防止被引用后執行,只有當前模塊中才可以使用;參數debug=True指為調試模式 if __name__=='__main__': app.run(debug = True)
5)運行項目python myblog.py,在瀏覽器中查看http://127.0.0.1:5000/或者http://127.0.0.1:5000/index
現在項目結構應該是這樣的:
3、模板
1) 在app文件夾下新建templates文件夾,在templates文件夾下新建index.html,並傳遞數據
index.html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{{ title }}博客</title> </head> <body> <h1>Hello,{{ user.username }}!</h1> </body> </html>
routes.py

#-*-coding:utf-8-*- from flask import render_template # 從app模塊中導入app應用 from app import app # 建立路由,通過路由可以執行其覆蓋的方法,可以多個路由指向同一個方法。 @app.route('/') @app.route('/index') def index(): title = "子覺的" user = {'username': '子覺'} return render_template('index.html', title="子覺的", user=user)