对于各部分须要更多分别的项目,Flask有blueprints。例如,你可以将所有效户相干的函数放在users.py中,将发卖相干的函数放在ecommerce.py中,然后在site.py中添加引用它们来构造化你的Flask应用。我们不会深刻这个功能,因为它超出了我们展示demo应用的需求。
4.2 Pyramid
Pyramid 的 bootstrapping对象叫 pcreate,是Pyramid的构成部分. 之前的 Paste 对象套装供给了 bootstrapping ,然则大年夜那之后被 Pyramid专用对象链替代了。
- $ pcreate -s starter hello_pyramid # Just make a Pyramid project
- hello_pyramid
- ├── CHANGES.txt
- ├── development.ini
- ├── MANIFEST.in
- ├── production.ini
- ├── hello_pyramid
- │ ├── __init__.py
- │ ├── static
- │ │ ├── pyramid-16x16.png
- │ │ ├── pyramid.png
- │ │ ├── theme.css
- │ │ └── theme.min.css
- │ ├── templates
- │ │ └── mytemplate.pt
- │ ├── tests.py
- │ └── views.py
- ├── README.txt
- └── setup.py
作为最后描述的框架,Pyramid的bootstrapper异常灵活. 不局限于一个默认的法度榜样;pcreate 可以应用随便率性数量的项目模版. 包含我们膳绫擎用到的pcreate琅绫擎的”starter”的模版, 还有 SQLAlchemy- ,ZODB-支撑scaffold项目. 在 PyPi可以发明已经为Google App Engine, jQuery Mobile, Jinja2 templating, modern frontend frameworks做好的scaffolds, 还有更多~
4.3 Django
Django 也有本身的 bootstrap 对象, 内置在 django-admin 中.
- django-admin startproject hello_django
- django-admin startapp howdy # make an application within our project
Django 默认只在项目中创建 空白的 model 和模板文件, 供新手参考的示范代码不多. 此外, 开辟者在宣布应用法度榜样的时刻, 还要本身设备, 这也是个麻烦.
bootstrap 对象的缺点是没有指导开辟者若何打包应用. 对于那些没有经验的新手来说, 第一次安排应用将是个很头疼的问题. 像 django-oscar 如许的大年夜社区, 项目都是打包好了, 放在 PyPi 上供大年夜家安装. 然则 Github 膳绫擎的小项目缺乏同一的打包方法.
5. 模板
一个Python应用可以或许响应HTTP请求将是一个巨大年夜的开端,然则有可能你的大年夜多半用户是没有兴趣应用curl与你的web应用交互的。荣幸的是,这三个竞争者供给了应用自定义信息填充HTML的办法,以便让大年夜慌绫乔可以或许享受时髦的Bootstrap 前端。
模板让你可以或许直接向页面注入动态信息,而不是采取AJAX。你只须要一次请求就可以获取全部页面以及所有的动态数据,这对用户体验来说是很好的。这对于手机网站来说尤其重要,因为一次请求花费的时光会更长。
5.1 Django
我们应用的例子正如写的那么简单,假设我们有一个包含了用户名的funllname属性的user对象。在Python中我们如许向模板中传递当前用户:
拥有这个模板的高低文很简单,传入一个Python对象的字典和模板应用的数据构造。如今我们须要在页面上衬着他们的名字,以防页面忘了他们是谁。
- <!-- view.html -->
- <div class="top-bar row"
推荐阅读
【51CTO.com原创稿件】在大年夜数据、云计算、移动互联网技巧的推动下,企业将得以由“泛数字化”向“聪明化”转型,经由过程实现聪明化应用、聪明化平台、聪明化互联、聪明化计算,塑造企业顶层>>>详细阅读
本文标题:Python Web框架:Django vs Flask vs Pyramid
地址:http://www.17bianji.com/lsqh/37298.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示