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

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Flask與Django對比

概括

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

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設計、永昌網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Flask 比 Django 更靈活 用Flask來構建應用之前,選擇組件的時候會給開發(fā)者帶來更多的靈活性 ,可能有的應用場景不適合使用一個標準的ORM(Object-Relational Mapping 對象關聯(lián)映射),或者需要與不同的工作流和模板系統(tǒng)交互。

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

項目區(qū)別

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

django-admin startproject hello_django 
django-admin startapp howdy12

其目錄結構: 默認情況下,Django項目和應用創(chuàng)建好了之后,只包含空的模型和模板文件,而Flask創(chuàng)建項目之后,目錄里面沒有任何文件,需要我們手動創(chuàng)建,是沒有像Django一樣組件分離,而對于需要把組件分離開的項目,F(xiàn)lask有blueprints。

例如,你可以這樣構建你的應用,將與用戶有關的功能放在user.py里,把與銷售相關的功能放在ecommerce.py里。

Django把一個項目分成各自獨立的應用,而Flask認為一個項目應該是一個包含一些視圖和模型的單個應用。當然我們也可以在Flask里復制出像Django那樣的項目結構。

模板

舉一個 Django 模板的例子



  
  
  
  {% if user %}        You are logged in as {{ user.fullname }}   
  {% endif %}
{% for widget in inventory %}     
  • {{ widget.displayname }}
  • {% endfor %}1234567891011121314

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

    模板簡單對比

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

    在Jinja的模板語言里,可以把任何數(shù)量的參數(shù)傳給過濾器,因為Jinja像調用一個Python函數(shù)的方式來看待它,用圓括號來封裝參數(shù)。Django使用冒號來分隔過濾器名和參數(shù),這樣就只能傳遞一個參數(shù)了。

    Flask的Jinja模版 for-else-endfor

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

    No items found

        

    Try another search, maybe?

        
    {% endfor %}12345678

    Django模版 for-empty-endfor

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

    No items found

        

    Try another search, maybe?

        
    {% endfor %}12345678

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

        更多python相關文章請關注python自學網(wǎng)。


    當前標題:創(chuàng)新互聯(lián)Python教程:Flask與Django對比
    當前鏈接:http://m.5511xx.com/article/cdsjdoi.html