經過如下命令安裝虛擬環境:前端
pip install virtualenvpython
開闢新的虛擬環境:web
virtualenv [virtualenv-name]flask
# 進入Python虛擬環境 cd C:\ProjectCode\PythonScript\python2venv\Scripts\
[Windows]:直接進入到虛擬環境的目錄,而後執行activate瀏覽器
退出虛擬環境:deactivate服務器
* 進入python命令行。 >>> import flask >>> print flask.__version__
一個URL由如下幾部分組成:app
scheme://host:port/path/?query-string=xxx#anchor
scheme:表明的是訪問的協議,通常爲http或者https以及ftp等。
host:主機名,域名,好比www.baidu.com。
port:端口號。當你訪問一個網站的時候,瀏覽器默認使用80端口。
path:查找路徑。好比:www.jianshu.com/trending/now,後面的trending/now就是path。
query-string:查詢字符串,好比:www.baidu.com/s?wd=python,後面的wd=python就是查詢字符串。
anchor:錨點,後臺通常不用管,前端用來作頁面定位的。框架
WEB服務器:負責處理HTTP請求,響應靜態文件,常見的有Apache,Nginx以及微軟的IIS.函數
應用服務器:負責處理邏輯的服務器。好比PHP、Python的代碼,是不能直接經過Nginx這種WEB服務器來處理的,只能經過應用服務器來處理,常見的應用服務器有uwsgi、Tomcat等。學習
WEB應用框架:通常使用某種語言,封裝了經常使用的WEB功能的框架就是WEB應用框架,Flask、Django以及Java中的SSH(Structs2+Spring3+Hibernate3)框架都是WEB應用框架。
C:\ProjectCode\PythonScript\python2venv\bin\python.exe
01app_hello
# 從flask這個框架中導入Flask這個類 from flask import Flask # 初始化一個Flask對象 # Flaks() # 須要傳遞一個參數__name__ # 1. 方便flask框架去尋找資源 # 2. 方便flask插件好比Flask-Sqlalchemy出現錯誤的時候,好去尋找問題所在的位置 app = Flask(__name__) # @app.route是一個裝飾器 # @開頭,而且在函數的上面,說明是裝飾器 # 這個裝飾器的做用,是作一個url與視圖函數的映射 # 127.0.0.1:5000/ -> 去請求hello_world這個函數,而後將結果返回給瀏覽器 @app.route('/') def hello_world(): return 'Hello World!' # 若是當前這個文件是做爲入口程序運行,那麼就執行app.run() if __name__ == '__main__': # app.run() # 啓動一個應用服務器,來接受用戶的請求 # while True: # listen() app.run()
python
文件,程序會自動加載,不須要手動從新啓動服務器。02Debug_Mod
#encoding: utf-8 from flask import Flask import config app = Flask(__name__) app.config.from_object(config) @app.route('/') def hello_world(): return '我是知了課堂' if __name__ == '__main__': app.run(DEBUG = True)
config.py
文件app
中,示例代碼以下:import config app.config.from_object(config)
SECRET_KEY
和SQLALCHEMY
這些配置,都是在這個文件中。@app.route('/article/<id>') def article(id): return u'您請求的參數是:%s' % id
03url_params
#encoding: utf-8 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' @app.route('/article/<id>') def article(id): return u'您請求的參數是:%s' % id if __name__ == '__main__': app.run(debug=True)
04url_reverse
#encoding: utf-8 from flask import Flask,url_for app = Flask(__name__) @app.route('/') def index(): # 做用於登陸、註冊的跳轉 print url_for('my_list') print url_for('article',id='123') return 'Hello World!' @app.route('/list/') def my_list(): return 'list' @app.route('/article/<id>/') def article(id): return u'您請求的id是:%s' % id if __name__ == '__main__': app.run(debug=True)
from flask import redirect,url redirect(url_for('login'))
05redirect
#encoding: utf-8 from flask import Flask,redirect,url_for app = Flask(__name__) @app.route('/') def index(): login_url = url_for('login') return redirect(login_url) return u'這是首頁' @app.route('/login/') def login(): return u'這是登陸頁面' @app.route('/question/<is_login>/') def question(is_login): if is_login == '1': return u'這是發佈問答頁面' else: return redirect(url_for('login')) if __name__ == '__main__': app.run(debug=True)
《Flask Web開發——基於Python的Web應用開發實踐》 《Python Flask系列(1)——基礎》 https://study.163.com/course/courseMain.htm?courseId=1004091002#/courseDetail?tab=1