最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的flask框架難學(xué)嗎

 更新時間:2020年07月31日 10:51:30   作者:silencement  
在本篇內(nèi)容中小編給大家分享了關(guān)于python的flask框架是否難學(xué)的相關(guān)知識點,有興趣的朋友們閱讀下吧。

Flask框架難學(xué)嗎?它和Django哪個更容易一些,這可能是學(xué)Python web開發(fā)的同學(xué)經(jīng)常問的問題,下面來說一下flask框架。

Flask是python的web框架,最大的特征是輕便,讓開發(fā)者自由靈活的兼容要開發(fā)的feature。

為什么要從Flask開始學(xué)習(xí)web框架?

1.python語言的靈活性給予了Flask同樣的特征;

2.無論是用戶畫像還是產(chǎn)品推薦,python相比其他語言都有極大的優(yōu)勢;

3.Flask輕便,容易上手,試錯成本低。

所以,從搭建一個輕便的博客出發(fā),既要容易上手實現(xiàn),又要能夠在后期擴(kuò)展用戶畫像和產(chǎn)品推薦,我選擇Flask作為web框架。

Flask上手前提少,能夠極大幫助初學(xué)者快速理解web開發(fā),這也是我喜歡Flask的原因。

(1)面向?qū)ο缶幊?Object-Oriented Programming, OOP)

相信絕大多數(shù)人都接觸過OOP,比如使用Java, Python, Go等。在Flask中,涉及基礎(chǔ)OOP的概念,包括對象、類、繼承、封裝等。

(2)python基礎(chǔ)

Flask中涉及簡單python概念,包括模塊、包、裝飾器、模塊等。

(3)命令行基礎(chǔ)

大部分的開發(fā)都繞不開命令行,F(xiàn)lask同樣要求基礎(chǔ)命令行操作,例如上傳服務(wù)器、查詢文件、修改配置文件等。

(4)數(shù)據(jù)庫基礎(chǔ)

web開發(fā)會產(chǎn)生數(shù)據(jù)管理的問題,雖然可以使用非數(shù)據(jù)庫的方式搭建靜態(tài)網(wǎng)頁,但從長遠(yuǎn)來看將,掌握一門基礎(chǔ)的數(shù)據(jù)庫工具是很有必要的。比如結(jié)構(gòu)化數(shù)據(jù)庫Mysql, Postgresql,非結(jié)構(gòu)化的MongoDB, Redis等。

(5)前端基礎(chǔ)

雖然搭建網(wǎng)站主要是后臺邏輯編寫,但今天越來越多的人在意前臺展現(xiàn),因此Flask除了后臺python語言的要求外,還要求掌握基礎(chǔ)的html, JavaScript, CSS。

(6)版本控制(增強(qiáng))

版本控制是所有程序開發(fā)的基礎(chǔ),了解基礎(chǔ)的版本控制可以大大提高開發(fā)的效率。掌握基礎(chǔ)的git技能會提高Flask網(wǎng)站開發(fā)速度。

安裝

使用virtualenv或者python3.3以上的pyvenv建立虛擬環(huán)境來配置開發(fā)環(huán)境。
可以通過pip方便的配置flask:

$ pip install flask

初始化(Initialization)

(1)創(chuàng)建flask實例對象

flask程序必須創(chuàng)建一個程序?qū)嵗?,常用方法?/p>

from flask import Flask
app = Flask(__name__)

這里的app就是一個程序?qū)嵗?,客戶端(一般是瀏覽器)將請求發(fā)送給服務(wù)端Web服務(wù)器,Web服務(wù)器再把請求發(fā)給Flask實例。
(2)構(gòu)建實例對象從URL到python函數(shù)的映射關(guān)系
程序?qū)嵗枰浪蠻RL對應(yīng)的執(zhí)行代碼,所以要有從URL到python函數(shù)的映射關(guān)系。處理URL到python函數(shù)映射關(guān)系的程序一般叫做路由(Router)。
Flask實現(xiàn)中一般通過python裝飾器來實現(xiàn),例如:

@app.route('/')
def index():    
    return '<h1>test</h1>'

上面的程序從程序化實例app開始,構(gòu)建了根目錄'/'的路由,具體實現(xiàn)的程序是index()函數(shù),返回了一段html代碼'test'字符串。
路由所對應(yīng)的程序稱為視圖函數(shù)(view function),即上面的index()函數(shù)。
(3)啟動服務(wù)器
程序?qū)嵗胷un方法來啟動服務(wù)器,例如:

if __name__ == '__main__':
    app.run(debug=True, port=8777)

上面的程序是常見套路,當(dāng)前python文件被執(zhí)行的時候,運(yùn)行flask實例化對象的run方法,啟動服務(wù)器,同時上面程序設(shè)定了兩個常用參數(shù):debug為True,端口是8777,避免和其他應(yīng)用的端口沖突。
(4)請求上下文
Flask使用上下文把一些視圖函數(shù)的對象變成全局可訪問,共有4中模式:

7601bbcc9fe0fddc5da2278f8bf199d.png

模板

業(yè)務(wù)邏輯和表現(xiàn)邏輯分開,才能開發(fā)出易維護(hù)的網(wǎng)站,表現(xiàn)邏輯往往放在模板中。

Flask的模板默認(rèn)在根目錄的templates中,例如:

from flask import Flask, render_templatefrom datetime import datetime

app = Flask(__name__)@app.route('/<name>')def index(name):
    return render_template('index.html', name=name)    
if __name__ == '__main__':
    app.run(debug=True, port=8777)

index.html頁面可以獨立出來專門處理網(wǎng)站的表現(xiàn)邏輯,例如:

{% block title %}Main{% endblock %}

{% block page_content %}
<div class="page-header">
    <h1>Hello World!</h1>
    <h2>Hello, 
        {% if name %}{{ name }}
        {% else %}Stranger{% endif %}!
    </h2>
</div>
{% endblock %}

Flask默認(rèn)使用Jinjia2進(jìn)行模板渲染,可以用一些控制語句,例如上面的if else判斷。

以上就是python的flask框架難學(xué)嗎的詳細(xì)內(nèi)容,更多關(guān)于flask框架難嗎的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決pyshp UnicodeDecodeError的問題

    解決pyshp UnicodeDecodeError的問題

    今天小編就為大家分享一篇解決pyshp UnicodeDecodeError的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python 函數(shù)中的參數(shù)類型

    python 函數(shù)中的參數(shù)類型

    thon中函數(shù)的參數(shù)類型比較豐富,比如我們經(jīng)常見到*args和**kwargs作為參數(shù)。今天給大家介紹python 函數(shù)中的參數(shù)類型,需要的朋友可以參考下
    2020-02-02
  • Python基于BeautifulSoup和requests實現(xiàn)的爬蟲功能示例

    Python基于BeautifulSoup和requests實現(xiàn)的爬蟲功能示例

    這篇文章主要介紹了Python基于BeautifulSoup和requests實現(xiàn)的爬蟲功能,結(jié)合實例形式分析了Python使用BeautifulSoup和requests庫爬取網(wǎng)站指定信息的相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • 簡單了解python中對象的取反運(yùn)算符

    簡單了解python中對象的取反運(yùn)算符

    這篇文章主要介紹了簡單了解python中對象的取反運(yùn)算符,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Scrapy中如何向Spider傳入?yún)?shù)的方法實現(xiàn)

    Scrapy中如何向Spider傳入?yún)?shù)的方法實現(xiàn)

    這篇文章主要介紹了Scrapy中如何向Spider傳入?yún)?shù)的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 深入了解Python中Lambda函數(shù)的用法

    深入了解Python中Lambda函數(shù)的用法

    lambda函數(shù)是Python中常用的內(nèi)置函數(shù),又稱為匿名函數(shù)。和普通函數(shù)相比,它只有函數(shù)體,省略了def和return,使得結(jié)構(gòu)看起來更精簡。本文將詳細(xì)說說Lambda函數(shù)的用法,需要的可以參考一下
    2022-09-09
  • Python本地及虛擬解釋器配置過程解析

    Python本地及虛擬解釋器配置過程解析

    這篇文章主要介紹了Python本地及虛擬解釋器配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • pandas groupby + unstack的使用說明

    pandas groupby + unstack的使用說明

    這篇文章主要介紹了pandas groupby + unstack的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python 實現(xiàn)人和電腦猜拳的示例代碼

    python 實現(xiàn)人和電腦猜拳的示例代碼

    這篇文章主要介紹了python 實現(xiàn)人和電腦猜拳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python中l(wèi)ist初始化方法示例

    Python中l(wèi)ist初始化方法示例

    這篇文章主要介紹了Python中l(wèi)ist初始化方法,分析了list初始化常用的方法與相關(guān)使用注意事項,需要的朋友可以參考下
    2016-09-09

最新評論

武宁县| 分宜县| 德阳市| 台江县| 田东县| 大荔县| 扶余县| 肥东县| 淄博市| 花垣县| 垫江县| 沂南县| 德保县| 西和县| 柘城县| 龙门县| 兴隆县| 茂名市| 浦城县| 江达县| 敦化市| 唐河县| 东乌| 当雄县| 宜丰县| 晋州市| 剑河县| 衢州市| 柏乡县| 七台河市| 宁城县| 临夏县| 闻喜县| 河池市| 白玉县| 福贡县| 吉林省| 泸州市| 田林县| 芦山县| 恩施市|