亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

用Python手把手教你搭建一個(gè)web框架-flask微框架

今天我們來(lái)探索另外的一種框架的搭建,這個(gè)框架就是web框架-flask微框架啦!首先我們帶著以下的幾個(gè)問(wèn)題來(lái)閱讀本文:

1、flask是什么?有些什么功能?

2、搭建web框架-flask微框架需要哪些工具和環(huán)境?

3、怎么來(lái)搭建?

前言:flask介紹

flask是一款十分輕量級(jí)的Python Web應(yīng)用框架,也被認(rèn)為是一種微框架,我最初喜歡使用是因?yàn)閒lask中提供的那一套使用的注解跟我當(dāng)時(shí)在公司中使用JAVA開(kāi)發(fā)的系統(tǒng),里面使用的restful的框架jersey的用法比較像,都十分方便,簡(jiǎn)潔,等到我熟悉使用flask框架之后,就挺喜歡這種微框架了。

使用方便,配置簡(jiǎn)單,也可以進(jìn)行克重?cái)U(kuò)展,滿(mǎn)足各自的需求,其中在這些里面還有一個(gè)flask restplus,將swagger工具整合到python里面,在進(jìn)行相應(yīng)測(cè)試的時(shí)候十分方便,這個(gè)將放到下一期再講。

由于篇幅有限,所以可以分享一下PDF文檔,有需要的朋友可以私信我【flask】免費(fèi)領(lǐng)取哦!

一、所需配備的工具和環(huán)境

這一次運(yùn)行flask需要使用的flask環(huán)境就不在物理機(jī)上安裝運(yùn)行了,直接使用上一篇講述的virtualenv來(lái)安裝flask,寫(xiě)出來(lái)的App demo都是依賴(lài)在虛擬環(huán)境運(yùn)行的,以下是我們這次演示所需要的python工具和相應(yīng)包。

pycharm 2016

virtualenv

pytohn 2.7

flask

以pycharm作為python ide, virtualenv以python 2.7創(chuàng)建我們的python運(yùn)行環(huán)境,并用 pip install flask,環(huán)境搭建基本就完成了,下面是具體流程。

二、搭建flaskApp

2.1 設(shè)置虛擬化環(huán)境

打開(kāi)pycharm,新建工程命名為flaskApp,完成后如下:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

現(xiàn)在基本是一個(gè)空工程,現(xiàn)在打開(kāi)控制臺(tái),輸入以下命令,創(chuàng)建虛擬化環(huán)境:

virtualenv venv

控制臺(tái)輸出完成后,將會(huì)在當(dāng)前目錄中創(chuàng)建一個(gè)venv文件夾,里面是我們運(yùn)行python的虛擬化環(huán)境,在這里我并沒(méi)有指明使用哪種版本的python環(huán)境是因?yàn)楫?dāng)前系統(tǒng)默認(rèn)的環(huán)境是python2.7,如果想使用python3.0以上可以參考前一篇文章virtualenv介紹及基本使用來(lái)完成。

現(xiàn)在要做的第二步就是啟動(dòng)當(dāng)前的虛擬化環(huán)境,輸入命令source venv/bin/active,完成后控制臺(tái)將會(huì)如下所示:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

(venv) localhost:flaskApp xiaxuan$ 表示我們的虛擬化環(huán)境啟動(dòng)成功,但是現(xiàn)在并不是表示當(dāng)前pycharm中當(dāng)前工程的工作環(huán)境就是venv中的虛擬化環(huán)境,這里要設(shè)置pycharm中的python interpreter改為當(dāng)前項(xiàng)目的運(yùn)行環(huán)境才行。

安裝flask的命令如下:

pipinstallflask

由于虛擬化環(huán)境,所以不需要root權(quán)限,十分方便。

在安裝完相應(yīng)依賴(lài),設(shè)置好python運(yùn)行環(huán)境后,在項(xiàng)目根目錄下新建requirements.txt文件,這個(gè)文件主要就是記載當(dāng)前項(xiàng)目安裝了那些依賴(lài),文件內(nèi)容如下:

flask==0.12Jinja2==2.9.5

這是目前安裝的依賴(lài),前面是包名,后面是版本號(hào),由于這個(gè)的存在我們可以直接在項(xiàng)目沒(méi)有安裝這些package之前,將所需的package寫(xiě)進(jìn)來(lái),然后在控制臺(tái)使用pip install -r requirements.txt,就可以將這些依賴(lài)全部安裝進(jìn)來(lái)。

2.2 搭建flask工作目錄

一個(gè)完整的flask項(xiàng)目的完整目錄以及基本的如下所示:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

test: 測(cè)試文件的位置

templates: html文件存放位置

static: 靜態(tài)文件css和js存放位置

views.py: 主要接口編寫(xiě)文件,目前是所有的接口都寫(xiě)在這里,但是實(shí)質(zhì)上要進(jìn)行一定的分模塊寫(xiě)接口,這個(gè)涉及到的技術(shù)是blueprint,這個(gè)在后期進(jìn)行講解。

models.py: 對(duì)象的定義

run.py: 啟動(dòng)運(yùn)行文件

config.py: 配置文件

manager.py: 用于啟動(dòng)程序以及其他的程序任務(wù)

以上就是簡(jiǎn)單的flask項(xiàng)目基本目錄。

三、 具體程序編寫(xiě)

3.1源碼

views.py:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

上圖提供兩個(gè)接口,一個(gè)是渲染視圖index.html,一個(gè)是返回json結(jié)果,較為簡(jiǎn)單,而在flask中接口的路由就是一個(gè)簡(jiǎn)簡(jiǎn)單單的注解app.route完成的,指定是哪一種http請(qǐng)求訪(fǎng)問(wèn)也是非常簡(jiǎn)單的,指定methods即可,methods是一個(gè)數(shù)組,即GET,POST可以同時(shí)在一個(gè)請(qǐng)求之中,但是我們?cè)趯?xiě)接口的時(shí)候,一般都會(huì)區(qū)分清楚。

在上面有一個(gè)

from app import app,這個(gè)需要提一下,這個(gè)在app包中的init.py文件之中聲明的,如下:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

在這里聲明了app對(duì)象,在views中我們引用了app,同時(shí)在下面一個(gè)文件run.py中,app起著啟動(dòng)整個(gè)項(xiàng)目的作用,run.py源碼如下:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

十分簡(jiǎn)單明了,app.run()整個(gè)項(xiàng)目便運(yùn)行起來(lái)了,在這里運(yùn)行的時(shí)候,項(xiàng)目是默認(rèn)的端口為5000,如果需要指定端口,app.run()方法中指定port即可。

3.2 運(yùn)行

啟動(dòng)run.py后,控制臺(tái)如下:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

控制臺(tái)輸出已經(jīng)在5000端口上運(yùn)行起來(lái),現(xiàn)在我們請(qǐng)求http://localhost:5000,轉(zhuǎn)向界面為:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

這是先前views.py中的第一個(gè)接口,渲染index.html,index.html中的內(nèi)容就是hello world。

訪(fǎng)問(wèn)第二個(gè)接口,url為http://localhost:5000/hello,結(jié)果如下:

用Python手把手教你搭建一個(gè)web框架-flask微框架

 

返回json數(shù)據(jù)。

總結(jié):

flask這種微框架搭建和運(yùn)行都是一種比較簡(jiǎn)單的事情,但是在面對(duì)一些并發(fā)量比較高的場(chǎng)景的時(shí)候,基本就支撐不住了,后續(xù)將講述如何應(yīng)對(duì)這一種場(chǎng)景。

在多模塊項(xiàng)目編寫(xiě)的時(shí)候,接口就不能放在一個(gè)views.py文件之中,需要分模塊存放,這個(gè)涉及到了blueprint技術(shù),以后的文章也會(huì)提及一些。

分享到:
標(biāo)簽:框架 flask
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定