web2py--------------用web2py写 django的例子 --------建立一个投票应用(3)
我们建立了数据模型,然后这次来进行页面的展示
1、这里是列表页面的 control

这里是dal的语法
只有两行
第一行 是查询出所有问题,也就是问题的id大于0
第二行是返回问题的列表
这里是view

我们在view曾只需要一个for循环其实就可以展示出所有的数据,
但是需要用if判断一下是否为空,贴心的处理一下不为空的情况
注意:
每个{{if }} {{for}} 这样的逻辑标签,后边是有“:”冒号的,而且有配对的{{pass}}标签宣告他结束
正是因为这些标签,似的写 web2py 跟写 php 一样 的没有底线,直接在view 中使用函数。。
数据层我们已经写好了,这里也不做修改
下面是展示页面

红色部分就是我们从数据库查出来的数据,问我为什么有两条,我是不会告诉你,我有添加了几条,怎么添加,可以去看看 前面的教程
2、然后是 detial 也就是详情页面
这里是 control写的内容

做个简单的解释,
第一句, 请求的 第一个参数,其实就是 question的id,
第二句,查询出这个问题
第三句,查询出这个问题的回答
我们向前台返回问题,和问题选项
是不是简单明了
下面是view

具体标签就不说做什么用的了,话说我写完的时候是有缩进的,但是,现在没了。不过只有form才有包含关系啦,也没什么好复杂的
是的 接下来是 小小的展示环节,我觉得还是很和谐的么

3、验证环节
细心的同学会发现有一个 都有使用一个 URL()这样的一个函数
这个就是为了拼接地址而生的函数,对应的默认参数分别是 app,controller,view,然后加上参数
这个验证的controller不对应view
所以只有一个controller
代码如下

redirect()函数将重定向到 results 哪里,
4、结果查看 results

不说了,如果不是小教程,这个绝对是个冗余代码,不过也很好维护,没什么复杂的内容,有时候有些冗余也是不错的,不过也不能说是冗余参见detail部分

这个可是有意思了,django的教程贴心的判断了一下 是不是复数,反正如果不是问一下,我也忘了那个标签是干什么的了,这样写道view里边是不是格外的扎眼?
我们来看看最终效果

好了现在django给的官方的例子已经完成了,
它剩下的内容是关于 cbv 的,但是web2py 不支持
所以这个教程也算是个入门而已,
只是告诉大家,殊途同归,
只不过每个框架都有自己可取的事情,例如如果有需求,完全可以按照web2py 的自身的优势来,无论是代码量,还是效果,都会比这个好的多。
现在 就这样吧,拜拜
有问题可以私信或者留言
===============================================================================
此处应该有源码
web2py--------------用web2py写 django的例子 --------建立一个投票应用(3)的更多相关文章
- web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)
建立模型 我们在models下及那里polls.py 文件内容如下 # -*- coding: utf-8 -*- pollsdb=DAL(uri='sqlite://polls.db') polls ...
- web2py--------------用web2py写 django的例子 --------建立一个投票应用(1)
按照上一篇我们新建一个名为 polls 的app 然后文件结构如下 然后web2py 会自动向里边添加一些代码. 我们需要剔除一些,如这个 controllers ,defualt.py 的ind ...
- web2py--------------用web2py写 django的例子 --------开发环境
我们先从广为人知的例子说起xi 也就是官方的例子,我会在最后给出代码: ============================环境=================== 编译器使用vs code , ...
- 【转】忙里偷闲写的小例子---读取android根目录下的文件或文件夹
原文网址:http://www.cnblogs.com/wenjiang/p/3140055.html 最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还 ...
- Django小例子 – 模型数据的模板呈现
学习Django的这几天,学习过程还是很愉快的,django采用的MVC架构,学习曲线十分平缓,在深入学习之前,先简单的整理记录下django从数据库中获取数据并在模板中使用的方法.温故而知新 ^_^ ...
- Django介绍、安装配置、基本使用、Django用户注册例子
Django介绍 Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站 DjangoMTV的思想 没有controller ...
- Django工程的建立以及小网站的编写
这篇博文会详细的介绍如何创建django工程,介绍我如何做了第一个网站.本文基于windows7安装了python2.7.12,Django1.8.18(LTS)版.采用的IDE为pycharm.建议 ...
- 忙里偷闲写的小例子---读取android根目录下的文件或文件夹
最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和 ...
- 初学Django基础01 建立工程,目录结构,常用配置,上下文管理,模板渲染
django是python的web重量级框架,发展已经有10年多了,对应下面版本 Django 版本 Python 版本 1.8 2.7, 3.2 , 3.3, 3.4, 3.5 1.9, 1.10 ...
随机推荐
- C#_delegate - 值参数和引用参数
值参数不能加,引用参数可以. 引用参数是共享的 using System; using System.Collections.Generic; using System.Linq; using Sys ...
- 【转】在XCode工程中创建bundle包
http://www.giser.net/?p=859 Bundle Programming Guide: https://developer.apple.com/library/ios/docume ...
- Java基础知识强化之多线程笔记02:多线程之 面试题(常问)
1. 多线程有几种实现方案,分别是哪几种 ? 两种. 继承Thread类 实现Runnable接口 扩展一种:实现Callable接口.这个得和线程池结合. 2. 同步有几种方式,分别是什么? ...
- MySQL(9):数据表的约束(列的属性)
1.首先我们看一下这个图: 1.NULL| not NULL是否为空 规定一个字段的值是否为NULL 2.Default value 字段默认值属性 常见的是一个字段不能为空,而且存在默认值 ...
- Android_GestureDetector
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- Android 自学之绝对布局 AbsoluteLayout
绝对布局(AbsoluteLayout),绝对布局就像java AWT中的空布局:所谓的绝对布局就是Android不提供任何的布局控制,而是有开发人员自己通过X坐标和Y坐标来控制组件的位置.当使用绝对 ...
- supervisor tornado 多进程多端口配置
base: nginx tornado 目标: tornado 实现多端口多进程运行 pip install supervisor echo_supervisord_conf > /etc/su ...
- HTML5吧!少年
一.为了能使IE9以下的IE浏览器也能支持html5的标签,所以首先得在文档头部用条件注释的方法引入那段著名的代码. 1 2 3 <!--[if lt IE 9]> <script ...
- css扁平化博客学习总结(四)content代码实现
1.根据功能,把不同的部分写出来,方便扩展 <div class="content"><!-- 内容开始 --> <section class=&qu ...
- asp.net 下OnClientClick的妙用
一. OnClick是button的服务器端事件 OnClientClick是button的客户端事件 onlick时发生postback,执行后台代码.onclientclick,就是执行javas ...