摘要: 对于这个项目,我们增加一个目录页,用来显示物品,并且提供加入购物车的按钮,对于模板,我们进行统一设置,根据继承模板的操作对子模板进行重写,弄好整体的风格设定,并完成设计。类似如下风格: 前面的scaffold内容说明了模板的内容,我们把统一的内容写到base.html中,先不做这个,先来实现目录页。我的顺序是:修改URLconf 叫做/depotapp/store,在url中加入下边这行:/depotapp/urls.py(r'^store', store_view),修改视图函数view,store是其对应的视图函数,在depotapp的views里加入下边的内容:/depo 阅读全文
posted @ 2012-09-26 12:17 事件轮询,回不到过去 阅读(357) 评论(0) 推荐(0) 编辑
摘要: depot这个应用,根据最初的需求我们在model中写了多个字段,买方需要一个目录页面,可以浏览货物,这时候我们需要一个上架时间,在这个时间之后的产品买方才能看到,而且买方看到的物品一定是最新的。这个时候我们注意到,为了这个新的需求我们需要对model类进行调整,增加一个新的属性字段date_available来满足需求,像开发新的功能一样,我们需要从修改model开始。 修改model很容易,我们只是需要在models.py中加入:class Product(models.Model): .... date_available = DateField() ... 阅读全文
posted @ 2012-09-26 10:41 事件轮询,回不到过去 阅读(347) 评论(0) 推荐(0) 编辑
摘要: Django的验证有三层机制:字段类型验证,除了应对数据库字段类型的Field类型外,还有EmailField, FileFIeld, URLField, PhoneNumberField, IPAdressField等等。字段选项验证,如null=true, blank=true,choices editable, unique, unique_for_date等等。表单验证,可以在Form中验证方法,可以针对所有表单做clean验证方法,也可以针对单项的验证方法:clean_xxx。Product模型中,默认加入了不能为空,要求符合数字验证,还需要如下验证: 1.验证price>0: 阅读全文
posted @ 2012-09-25 15:58 事件轮询,回不到过去 阅读(401) 评论(0) 推荐(0) 编辑
摘要: django模板除了基本的过滤器,标签,变量之外,模板的关系只有两个,即包含和继承。包含:可以是硬编码的字符串{% include "foo/bar.html"%}或者变量名{% template_name %},当然变量名在view中赋值。继承:django的继承方案解决共用界面区域DRY的一个优雅方案。简单的说就是先定义一个简单的基础框架,然后在其子模板中对它所包含的站点公用部分和定义块儿进行重载。基础模板中,将内容不同的部分制定各个内容块儿。{% block foo %}<div>default content of foo</div>{% e 阅读全文
posted @ 2012-09-25 12:03 事件轮询,回不到过去 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 按照迭代开发的计划,下一步是美化界面,引入bootstrap显示如下风格: 为了实现这个界面,在设计初期我们自己定义静态资源,包括imge,css,js等等,(django正式部署的时候对静态资源有特殊的处理,开发阶段我们以简单的方式让静态资源起到作用)。 在project目录下建立static目录,将静态资源按合理的方式放入其中:static/ css/ bootstrap.mim.css ===>产品清单界面使用的样式表,整个系统都使用这种风格。 js/ images/ productlist.html ... 阅读全文
posted @ 2012-09-25 11:17 事件轮询,回不到过去 阅读(580) 评论(0) 推荐(0) 编辑
摘要: ####django的scaffold: 相对于rails的scaffold,即在model的基础上,自动生成crud界面。django 引入了插件djang-groundwork,并做简单的配置即可使用。扩展了manage.py命令$git clone https://github.com/madhusudancs/django-groundwork.git$ls django-groundworkAUTHORS LICENSE README.rst django-groundwork 将其中的django-groundwork复制到... 阅读全文
posted @ 2012-09-25 10:40 事件轮询,回不到过去 阅读(619) 评论(1) 推荐(0) 编辑
摘要: #####购物车应用:角色:买方,卖方用例:买方----浏览产品,创建订单 卖方-----管理查品,管理订单,管理发货界面设计:买方:目录页明显查品信息,可以选择一个产品,打开购物车界面,同时加入车购物车界面,可以返回产品目录界面,也可以进入支付界面订单界面,填写必要信息,确认后显示收据页面收据页面,通知买方订单已经被接受卖方:登录界面,管理产品要登录系统,登录后显示菜单界面包含产品维护和订单查看创建长品界面,加入查品产品信息页面,可修改或者删除订单处理界面,可忽略或者处理敏捷开发,尽快开始开发。迭代的过程中会逐渐明确,接下来第一轮迭代开发。####创建第一个模型: 从模型开始是... 阅读全文
posted @ 2012-09-24 20:47 事件轮询,回不到过去 阅读(696) 评论(0) 推荐(0) 编辑
摘要: python:显示说明优于隐含意义;django:强调 松耦合,少写代码,快速开发,DRY,一致性;django不喜欢魔术代码,强调可控制,可理解;####MVC框架: 将应用程序分成三个部分:Model 模型 View 视图 Controller 控制器 ####django 的MVC框架:M代表模型,数据存取层;处理与数据相关的所有事物,包含数据之间关系,如何有效验证,如何存取等等;V代表视图,业务逻辑层;是模型与模板之间的桥梁,一方面存取模型,另外一方面调取适当的模板;T代表模板,表现层; 如何在页面或者其他类型文档中进行显示; MVC控制器的部分由django框架的url... 阅读全文
posted @ 2012-09-24 20:27 事件轮询,回不到过去 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 在normal mode下,光标移动到头文件引入的位置,按键gf 可以打开相对应的头文件;在.vimrc中添加 set dictionary+=/usr/share/dict/... 等可以加入字典功能(补全);vim 的 fold 即折叠功能zf % 实现折叠{}功能 可是窗口模式下 zf 折叠选中的代码zo zc 打开关闭折叠的代码 zk zj 代码折叠之间的切换mkview loadview 重新打开文件的时候折叠还依然存在zd 删除折叠代码zr zm 打开合并的折叠代码 zm 是反向操作asdf lajf las fvim 查看并执行历史命令 先输入q,然后输入:,输入his可以查看. 阅读全文
posted @ 2012-09-24 11:56 事件轮询,回不到过去 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:$vi ~/.vimrc设置完后$:x 或者 $wq进行保存退出即可。下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:“双引号开始的行为注释行,下同“去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set n 阅读全文
posted @ 2012-09-20 11:51 事件轮询,回不到过去 阅读(642) 评论(0) 推荐(0) 编辑