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 ...
随机推荐
- RHEL 7特性说明(七):编译程序及工具
转载自:RedHat https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release ...
- java_jdbc_可滚动结果集与分页
public static void create2(int i) { Connection conn = null; Statement st = null; ResultSet rs = null ...
- 需要一个分页,花了一个钟写了一个,刚学js,不是很完美
<script src="js/jquery.min.js" ></script> <script type="text/javascrip ...
- 关于git fetch 和git pull 的区别
1.fetch 相当于是从远程获取最新版本呢到本地,不会自动merge. git fetch origin master:tmpgit diff tmp git merge tmp 2. git pu ...
- svn has stoped working
各种问各种搜 ,看来还得靠自己,,,,下面是解决方案; 如果你出现这种情况, 右键点击svn的选项,就弹出这个框框,,,,点击svn里的哪个选项都是弹出这个框框,,,,重新安装,重启,换各种版本安 ...
- 读jQuery官方文档:$(document).ready()与避免冲突
$(document).ready() 通常你想在DOM结构加载完毕之后才执行相关脚本.使用原生JavaScript,你可能调用window.onload = function() { ... }, ...
- akka创建actor时报错:IllegalArgumentException: no matching constructor found on class $iwC$$iwC$$iwC$$iwC$
在spark-shell中输入范例中的代码: import akka.actor.Actor import akka.actor.Props import akka.event.Logging cla ...
- C语言:Day1~Day4
点击右键查看原图
- 【html】【11】函数名称约束规范
一.匈牙利命名法: [不推荐]基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分.要基于容易记忆容易理解的原则.保证名字的连贯性是非常重要的 ...
- spring mvc 多视图配置
<!-- jsp视图解析器--> <bean id="viewResolver" class="org.springframework.web.serv ...