web
文章平均质量分 82
ThinkInside
这个作者很懒,什么都没留下…
展开
-
Django的第一印象
Django (/ˈdʒæŋgoː/) 是用python语言写的开源web开发框架(open source web framework),鼓励快速开发,并遵循MTV设计模式。其主要目的是简便、快速的开发数据库驱动的网站。 Django遵守 BSD版权,目前最新的稳定版(stable)是2011年9月发布的v1.3.1。 Django 的名称来源于比利时的爵士音乐原创 2012-01-29 14:39:49 · 4412 阅读 · 4 评论 -
Django实战(17):ajax !
继续上一节未完成的任务,现在让我们来通过ajax请求后台服务。当然首选要实现后台服务。关于“加入购物车”,我们需要的服务是这样定义的:url: http://localhost:8000/depotapp/API/cart/items/postpost数据: product = product_id处理过程: 根据product_id,将product加入购物车返回:购物车中的原创 2012-02-07 15:02:17 · 5934 阅读 · 5 评论 -
Django实战(13):在session中保存购物车
现在,我们有了一个产品目录界面,用户如果看到满意的产品,就可以将其放入购物车。下面就让我们来实现购物车的功能。首先要做一下简单的分析和设计。购物车应该显示一系列产品的清单,其中列出了买方选中的产品。但是这个清单没有必要马上保存到数据库,因为直到付款之前,用户随时都有可能改变主意。我们只需要在用户的session中记录这些产品就可以了。购物车中的条目购物车中的条目与产品(Prod原创 2012-02-05 16:43:45 · 10725 阅读 · 11 评论 -
Django实战(1):需求分析和设计
Depot是《Agile Web Development with Rails》中的一个购物车应用。该书中用多次迭代的方法,逐步实现购物车应用,使很多人走上了rails开发的道路。遗憾的是Django世界中好像没有类似的指引,也许是因为pythoner 不需要具体的例子。但是如果通过这样一个例子能够让更多的人加入pythoner的队伍,也是一大幸事。本文首先回顾一下depo原创 2012-01-29 19:56:52 · 8147 阅读 · 2 评论 -
Django实战(9):实现Product的输入校验
让我们完成上一节中的任务:1.验证price>0:需要在Form中验证;2. 验证title唯一:在Model中验证;3. 验证image_url的扩展名:在Form中验证,还可以顺便在Model中将其改为URLField类型。之前生成的scaffold中已经实现了属性不能为空的验证:但是对于url格式,rul的后缀,title的唯一性都没有验证。首先在model中增加UR原创 2012-02-01 15:42:18 · 5710 阅读 · 7 评论 -
Django实战(7):改造ProductList界面
有了上一节关于Django模板的基础,改造界面就很容易理解了。将界面设计师设计的页面中的内容根据复用程度分别放到基础模板base.html和专用模板productlist.html中。depot/templates/base.html {% block title %} 标题 {% endblock %} {%原创 2012-01-31 19:02:48 · 6581 阅读 · 3 评论 -
Django实战(12):增加目录页,设定统一布局
针对上一节的新需求,界面设计师还为我们设计了一个新的界面,不仅仅是目录页,还包含了站点的整体风格,如下图:感谢界面设计师为我们提供的“又黑又硬”的工具条,这个看起来真的很酷。下面,让我们来享用她的工作成果吧。我们前面的scaffold已经生成了有继承关系模板,显然对于一些公用的内容应该放到base.html之中。但是我们先把这件事情放到一边,先来实现目录页。首选为目录页原创 2012-02-03 17:19:12 · 6067 阅读 · 7 评论 -
Django实战(3):Django也可以有scaffold
rails有一个无用的”神奇“功能,叫做scaffold。能够在model基础上,自动生成CRUD的界面。说它无用,是因为rails的开发者David说,scaffold”不是应用程序开发的目的。它只是在我们构建应用程序时提供支持。当你设计出产品的列表该如何工作时,你依赖于“支架”“生成器”产生创建,更新,和删除的行为。然后在保留这个“动作”时你要替换由“生成器”生成的行为。有时候当你需要一个原创 2012-01-30 14:34:19 · 8312 阅读 · 17 评论 -
Django实战(5):引入bootstrap,设置静态资源
之前生成了Product类的scaffold,但是如同rails的开发者David所讲的那样,scaffold几乎没什么用。所以按照《Agile Web Development with Rails 4th》中的迭代计划,下一步的修改是美化list页面:但是这个界面还是太丑陋了。其实,有了bootstrap后,很多站点都变成了“又黑又硬”的工具条+“小清新”风格。我们即不能免俗,又懒得原创 2012-01-31 11:58:21 · 14073 阅读 · 5 评论 -
Django实战(6):对比RoR和Django的模板系统
scaffold的生成物虽然用处不大,但是给我们带来一些最佳实践。其中就有模板的继承和分区。如果你深入使用过rails的模板体系,那么恭喜你:你有超强的忍耐力!而且更重要的是,你只需要3分钟就可以理解Django的模板体系。让我们先回顾一下rails的模板系统:1. 你创建了一个xxxview,展现出一些数据。2. 你意识到,各个view都有一些共同的内容。因为rails也强调DR原创 2012-01-31 18:07:22 · 7106 阅读 · 5 评论 -
Django实战(4):scaffold生成物分析
在上一节用一个插件生成了类似rails的scaffold,其实无非就是URLconf+MTV。让我们看看具体都生成了哪些东西。首先是“入口”的定义即URLconf,打开urls.py:from django.conf.urls.defaults import patterns, include, urlfrom depot.views import hellourlpatterns原创 2012-01-30 23:25:41 · 6544 阅读 · 2 评论 -
Django第一步
对于一个web框架,掌握了三部分的内容,就可以说是迈出了第一步。1. 准备开发环境2. 创建一个工程,并运行3. 开发hello world应用1. 准备环境 首先应该是安装python和django。这点官方网站有很详细的说明,网上也有很多教程,这里就不再重复了,只是表达一个对操作系统的观点: Mac OS:对程序员和用户都很友好原创 2012-01-29 18:31:32 · 7095 阅读 · 6 评论 -
URLconf+MTV:Django眼中的MVC
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中: M 管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。 C 接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔原创 2012-01-29 15:29:27 · 6544 阅读 · 4 评论 -
Django实战(16):Django+jquery
已经开通了Django专栏,本系列的文章会持续加入。现在我们有了一个使用json格式的RESTful API,可以实现这样的功能了:为了避免在产品列表和购物车之间来回切换,需要在产品列表界面显示购物车,并且通过ajax的方式不刷新界面就更新购物车的显示内容。ajax框架的选择关于ajax框架的选择,看图不说话:我不管你选的是什么,反正我是选了jquery。原创 2012-02-07 00:50:42 · 9522 阅读 · 4 评论