Pycharm+Flask零基礎項目搭建入門的實現(xiàn)
Flask在Python web開發(fā)中雖然熱度低于Django但是也存在不小的市場空間,能作為一個主流web開發(fā)框架之一也不是浪得虛名,還是有不少干貨在里面的,F(xiàn)lask也具備了不少的自身優(yōu)勢,在后面的認識中我們再逐步深入了解
今天我們就來帶大家了解一下Flask的初探,首先呢就是環(huán)境,現(xiàn)在開始介紹一下通過Pycharm搭建Flask的項目環(huán)境;
創(chuàng)建項目
項目創(chuàng)建依托SDK Pycharm來展開;
Pycharm—>File—>New Project—>Flask—>Location 修改自己項目名稱及路徑 —>創(chuàng)建虛擬環(huán)境—>選擇模板語言—>create;
上面這幾步,都是根據(jù)下圖標號一步一步的展開來的,設置的時候不要出現(xiàn)錯誤,細心!細心!細心?。?!

選擇打開窗口
New Window

項目架構展示

Flask安裝
激活虛擬環(huán)境,切換目錄至虛擬環(huán)境所在位置:
D:\code\flask_wsw>cd venv\Scripts (venv) D:\code\flask_wsw\venv\Scripts>

看到這個位置有(venv) 就代表我們已經(jīng)激活了虛擬環(huán)境,開始安裝
pip install flask
驗證安裝是否成功
pip list | findstr Flask

這樣就代表安裝成功了;
hello flask
鼠標右鍵—>New—>PythonFile —> hello_flask


擼代碼
前期環(huán)境搭建完成,項目構建也順利完成,現(xiàn)在開始擼代碼了,7行代碼構建一個flask 應用;
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_flask():
return 'hello flask '
if __name__ == '__main__':
app.run()
針對每一行代碼,我們做個簡單的解讀,幫助大家理解:
第1行:導入所需包資源;
第2行:實例化Flask應用;
第3行:定義路由,請求地址為/的時候,路由跳轉到hello_flask()這個函數(shù);
第4~5行:定義視圖,也就是hello_flask()函數(shù),返回一個字符串’hello flask ’
第6~7行:開啟flask 服務
如果run()中為空,沒有參數(shù),服務開啟后映射的IP和port都是采用默認值的方式,分別是127.0.0.1與5000;
如果run()中有參數(shù),app.run(host=‘127.0.0.1’, port=5000),這個設置和默認的設置是一致的,這里我們做一點延伸:
- 假如你想讓局域網(wǎng)內(nèi)的用戶訪問你的服務,你可以將自己本級IP設置成host的值,別人想要訪問服務第一步就是要在瀏覽器輸入你的IP地址;
- 假如5000端口被占用可以將port設置成其他未被占用的端口;
通過瀏覽器可以訪問:http://127.0.0.1:5000,實現(xiàn)服務的訪問;
app.run(host=‘127.0.0.1’, port=5000):這種方式開啟服務,只能在本地瀏覽器服務;
app.run(host=‘192.68.0.1’, port=5000):這種方式開啟服務,既可以通過http://127.0.0.1:5000在本地瀏覽器訪問,也可以通過http://192.68.0.1:5000在本地瀏覽器訪問;同時同局域網(wǎng)內(nèi)其他用戶也可以通過http://192.68.0.1:5000在各自PC的瀏覽器訪問,這是不是有點互聯(lián)網(wǎng)的意思了~
服務開啟后,終端打印log:
D:\wsws\python.exe D:/code/flask_wsw/hello_flask.py * Serving Flask app 'hello_flask' * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:5000 Press CTRL+C to quit
客戶端【瀏覽器】

這樣就代表我們的第一個flask應用正式成功了;
返回html
flask中給了render_template用來返回html文件
第一種 遵循jinjia2
文件布局

test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>我是測試頁面</h1>
</body>
</html>from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def hello_flask():
return render_template("test.html")
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)
運行之后在客戶端請求的時候發(fā)現(xiàn)報錯

服務端也報錯

報錯原因:jinjia2在沒有設置參數(shù)的時候,需要在指定路徑下去尋找html文件,這個默認路徑就是templates文件夾,去這個文件夾去找test.html,如果找到就返回,找不到就報錯就是剛才報錯的原因;
修改之后的文件夾布局:

重啟服務,看看能否正常;
測試下來服務端的日志是正常顯示了,客戶端的也能正常加載test.html了

第二種 flask實例化指定模板位置
在實例化flask APP的時候指定templates路徑
文件布局

test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>我是測試頁面aaa</h1>
</body>
</html>
from flask import Flask,render_template
app = Flask(__name__,template_folder='aaa')
@app.route('/')
def hello_flask():
return render_template("test.html")
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)重啟服務,客戶端驗證結果:

返回json
jsonify 返回json
from flask import Flask, jsonify
app = Flask(__name__, template_folder='aaa')
@app.route('/')
def hello_flask():
data = {
"name": "kongjing",
"age": 18,
"sex": "female"
}
return jsonify(data)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)
重啟服務,客戶端驗證結果:

到此這篇關于Pycharm+Flask零基礎項目搭建入門的實現(xiàn)的文章就介紹到這了,更多相關Pycharm Flask項目搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Jupyter Notebook切換conda虛擬環(huán)境的實現(xiàn)步驟
本文主要介紹了Jupyter Notebook切換conda虛擬環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
Python實現(xiàn)合并同一個文件夾下所有txt文件的方法示例
這篇文章主要介紹了Python實現(xiàn)合并同一個文件夾下所有txt文件的方法,涉及Python針對文件的遍歷、讀取、寫入等相關操作技巧,需要的朋友可以參考下2018-04-04

