作家
登录

Python Web框架:Django vs Flask vs Pyramid

作者: 来源: 2017-09-11 14:20:31 阅读 我要评论

        }  
  •     )  
  • render函数是Django shortcut,以接收请求、模板路径和一个高低文的dict。与Flask的render_template类似,它也接收接入请求。

    1. def newlunch(request): 
    2.  
    3.     l = Lunch() 
    4.  
    5.     l.submitter = request.POST['submitter'
    6.  
    7.     l.food = request.POST['food'
    8.  
    9.     l.save() 
    10.  
    11.     return redirect('home' 

    保存表荡竽暌功答到数据库是不一样的,Django调用模型的 .save()办法以及处理会话治理而不是用全局数据库会话。干净利落!

    Django供给了一些优雅的特点,让我们治理用户提交的午餐,是以我们可以删除那些不合适的午餐信息。Flask和Pyramid没有主动供给这些功能,而在创建一个Django应用时不须要写另一个治理页面当然也是其一个特点。开辟者的时光可不免费啊!我们所要做的就是告诉Django-admin我们的模型,是在wut5lunch/admin.py中添加两行。

    1. from wut4lunch.models import Lunch 
    2.  
    3. admin.site.register(Lunch)  

    获取午餐的萌芽语法和Flask的很类似,这是因为这两个demo应用应用了风行的SQLAlchemy ORM来供给持久存储。在Pyramid中,许可你直接返回模板高低文的字典,而不是要调用特别的render函数。@view_config装潢器主动将返回的高低文传入要衬着的模板。避免调用render办法使得Pyramid写的函数加倍轻易测试,因为它们返回的数据没有被模板衬着对象掩盖。

    Bam。如今我们可以添加删除一些条目,而无需额外的工作。

    最后,让我们看下主页模板的不合之处。

    1. <ul> 
    2.  
    3. {% for lunch in lunches %} 
    4.  
    5. <li><strong>{{ lunch.submitter }}</strong> just ate <strong>{{ lunch.food }}</strong></li> 
    6.  
    7. {% empty %} 
    8.  
    9. <em>Nobody has eaten lunch, you must all be starving!</em> 
    10.  
    11. {% endfor %} 
    12.  
    13. </ul>  

    Django拥有便利的快捷方法,在你的页面中引用其他的视图。url标签可以使你重建应用中的URLs,而不需破坏视图。这个是因为url标签会主动萌芽视图中的URL。

    1. <form action="{% url 'newlunch' %}" method="post"
    2.  
    3.   {% csrf_token %} 
    4.  
    5.   {{ form.as_ul }} 
    6.  
    7.   <input type="submit" value=http://developer.51cto.com/art/201709/"I ate this!" /> 
    8.  
    9. </form>  

    表单被不合的语法衬着,我们须要人工在表单主体中添加CSRF token,但这些差别更多的是装潢

    6.3测试Pyramid版App

    最后,我们看看竽暌姑Pyramid实现的同样的法度榜样。与Django和Flask的最大年夜不合是模板。只须要对Jinja2做很小的修改就足以解决我们在Django中的问题。此次不是如许的,Pyramid的Chameleon模板的语法更轻易让人联想到XSLT而不是其余。

    1. <!-- pyramid_wut4lunch/templates/index.pt --> 

    2.   推荐阅读

        【慧眼】以智慧能力,助力行业智慧化转型

      【51CTO.com原创稿件】在大年夜数据、云计算、移动互联网技巧的推动下,企业将得以由&ldquo;泛数字化&rdquo;向&ldquo;聪明化&rdquo;转型,经由过程实现聪明化应用、聪明化平台、聪明化互联、聪明化计算,塑造企业顶层>>>详细阅读


      本文标题:Python Web框架:Django vs Flask vs Pyramid

      地址:http://www.17bianji.com/lsqh/37298.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)