日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:django和flask的區(qū)別

Flask與Django的區(qū)別

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)紫云,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

Django功能大而全,F(xiàn)lask只包含基本的配置 Django的一站式解決的思路,能讓開(kāi)發(fā)者不用在開(kāi)發(fā)之前就在選擇應(yīng)用的基礎(chǔ)設(shè)施上花費(fèi)大量時(shí)間。Django有模板,表單,路由,認(rèn)證,基本的數(shù)據(jù)庫(kù)管理等等內(nèi)建功能。與之相反,F(xiàn)lask只是一個(gè)內(nèi)核,默認(rèn)依賴(lài)于兩個(gè)外部庫(kù): Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴(kuò)展的形式進(jìn)行嵌入使用。

Flask 比 Django 更靈活 用Flask來(lái)構(gòu)建應(yīng)用之前,選擇組件的時(shí)候會(huì)給開(kāi)發(fā)者帶來(lái)更多的靈活性 ,可能有的應(yīng)用場(chǎng)景不適合使用一個(gè)標(biāo)準(zhǔn)的ORM(Object-Relational Mapping 對(duì)象關(guān)聯(lián)映射),或者需要與不同的工作流和模板系統(tǒng)交互。

Flask 在 Django 之后發(fā)布,現(xiàn)階段有大量的插件和擴(kuò)展?jié)M足不同需要 Django發(fā)布于2005年,F(xiàn)lask創(chuàng)始于2010年年中。

入門(mén)引導(dǎo)

Flask的Hello World應(yīng)用的代碼是最簡(jiǎn)單的,只用在一個(gè)Python文件里碼7行代碼就夠了。

from flask import Flask
 app = Flask(__name__)
@app.route("/")
def hello():
	return "Hello World!"
 if __name__ == "__main__":
	app.run()

上面代碼就已經(jīng)是一個(gè)簡(jiǎn)單的 web 應(yīng)用,從上面的 Hello World 應(yīng)用的特點(diǎn)來(lái)看,一個(gè)沒(méi)什么Python web開(kāi)發(fā)經(jīng)驗(yàn)的人就可以很快的上手開(kāi)始擼代碼。

項(xiàng)目區(qū)別

Django 創(chuàng)建項(xiàng)目和創(chuàng)建應(yīng)用

django-admin startproject hello_django
django-admin startapp howdy

目錄結(jié)構(gòu):

默認(rèn)情況下,Django項(xiàng)目和應(yīng)用創(chuàng)建好了之后,只包含空的模型和模板文件,而Flask創(chuàng)建項(xiàng)目之后,目錄里面沒(méi)有任何文件,需要我們手動(dòng)創(chuàng)建,是沒(méi)有像Django一樣組件分離,而對(duì)于需要把組件分離開(kāi)的項(xiàng)目,F(xiàn)lask有blueprints。例如,你可以這樣構(gòu)建你的應(yīng)用,將與用戶有關(guān)的功能放在user.py里,把與銷(xiāo)售相關(guān)的功能放在ecommerce.py里。Django把一個(gè)項(xiàng)目分成各自獨(dú)立的應(yīng)用,而Flask認(rèn)為一個(gè)項(xiàng)目應(yīng)該是一個(gè)包含一些視圖和模型的單個(gè)應(yīng)用。當(dāng)然我們也可以在Flask里復(fù)制出像Django那樣的項(xiàng)目結(jié)構(gòu)。

模板對(duì)比

Django的模版大家都很熟悉,我們舉一個(gè)簡(jiǎn)單的例子

Flask默認(rèn)使用一個(gè)受Django啟發(fā)而發(fā)展起來(lái)的名為Jinja2的模板,其實(shí),所有上面的Django模板的例子在Jinja2里也是好使的。

模版簡(jiǎn)單對(duì)比


Categories:{{ post.categories|join:"," }}
Categories:{{  post.categories|join(", ")  }}

在Jinja的模板語(yǔ)言里,可以把任何數(shù)量的參數(shù)傳給過(guò)濾器,因?yàn)镴inja像調(diào)用一個(gè)Python函數(shù)的方式來(lái)看待它,用圓括號(hào)來(lái)封裝參數(shù)。Django使用冒號(hào)來(lái)分隔過(guò)濾器名和參數(shù),這樣就只能傳遞一個(gè)參數(shù)了。

Flask的Jinja模版 for-else-endfor

{% for item in inventory %}
    {{ item.render() }}
{% else %}          

No items found

    

Try another search, maybe?

    
{% endfor %}

Django模版 for-empty-endfor

{% for item in inventory %}
    {{ item.render }}
{% empty %}          

No items found

    

Try another search, maybe?

    
{% endfor %}

除了上述的語(yǔ)法區(qū)別,F(xiàn)lask還提供了很多特有的上下文變量(url_for,get_flashed_messages()等).


分享標(biāo)題:創(chuàng)新互聯(lián)Python教程:django和flask的區(qū)別
文章鏈接:http://www.5511xx.com/article/ccchchg.html