小編給大家分享一下django和flask的區(qū)別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站是專業(yè)的長(zhǎng)興網(wǎng)站建設(shè)公司,長(zhǎng)興接單;提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行長(zhǎng)興網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Flask與Django的區(qū)別
Django功能大而全,F(xiàn)lask只包含基本的配置 Django的一站式解決的思路,能讓開發(fā)者不用在開發(fā)之前就在選擇應(yīng)用的基礎(chǔ)設(shè)施上花費(fèi)大量時(shí)間。Django有模板,表單,路由,認(rèn)證,基本的數(shù)據(jù)庫管理等等內(nèi)建功能。與之相反,F(xiàn)lask只是一個(gè)內(nèi)核,默認(rèn)依賴于兩個(gè)外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴(kuò)展的形式進(jìn)行嵌入使用。
Flask 比 Django 更靈活 用Flask來構(gòu)建應(yīng)用之前,選擇組件的時(shí)候會(huì)給開發(fā)者帶來更多的靈活性 ,可能有的應(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年年中。
入門引導(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)來看,一個(gè)沒什么Python web開發(fā)經(jīng)驗(yàn)的人就可以很快的上手開始擼代碼。
項(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)目之后,目錄里面沒有任何文件,需要我們手動(dòng)創(chuàng)建,是沒有像Django一樣組件分離,而對(duì)于需要把組件分離開的項(xiàng)目,F(xiàn)lask有blueprints。例如,你可以這樣構(gòu)建你的應(yīng)用,將與用戶有關(guān)的功能放在user.py里,把與銷售相關(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ā)展起來的名為Jinja2的模板,其實(shí),所有上面的Django模板的例子在Jinja2里也是好使的。
模版簡(jiǎn)單對(duì)比
<!--Django-->
<div class="categories">Categories:{{ post.categories|join:"," }}</div>
<!--Jinja2-->
<div class="categories">Categories:{{ post.categories|join(", ") }}</div>在Jinja的模板語言里,可以把任何數(shù)量的參數(shù)傳給過濾器,因?yàn)镴inja像調(diào)用一個(gè)Python函數(shù)的方式來看待它,用圓括號(hào)來封裝參數(shù)。Django使用冒號(hào)來分隔過濾器名和參數(shù),這樣就只能傳遞一個(gè)參數(shù)了。
Flask的Jinja模版 for-else-endfor
{% for item in inventory %}
<div class="display-item">{{ item.render() }}</div>
{% else %}
<div class="display_warn">
<h4>No items found</h4>
<p>Try another search, maybe?</p>
</div>
{% endfor %}Django模版 for-empty-endfor
{% for item in inventory %}
<div class="display-item">{{ item.render }}</div>
{% empty %}
<div class="display-warn">
<h4>No items found</h4>
<p>Try another search, maybe?</p>
</div>
{% endfor %}除了上述的語法區(qū)別,F(xiàn)lask還提供了很多特有的上下文變量(url_for,get_flashed_messages()等).
以上是django和flask的區(qū)別是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:django和flask的區(qū)別是什么
當(dāng)前網(wǎng)址:http://www.chinadenli.net/article10/pechdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、全網(wǎng)營銷推廣、、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)