web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)
建立模型

我们在models下及那里polls.py
文件内容如下

# -*- coding: utf-8 -*-
pollsdb=DAL(uri='sqlite://polls.db') pollsdb.define_table('Question',
Field('question_text','string',length=200),
Field('pub_date','datetime'),
format='%(question_text)s') pollsdb.define_table('Choice',
Field('question','reference Question',requires=IS_IN_DB(pollsdb,'Question.id',pollsdb.Question._format)),
Field('choice_text','string',length=200),
Field('votes','integer',default=0),
format='%(choice_text)s')
polls.py
详细大卖我写到 上边方便粘贴
解释一下,pollsdb 是数据库文件,使用官方的 DAL 这是一个独立插件,支持数据库很多,这里使用sqlite
建立两个数据表,Question 和 Choice 两个表
其中 Choice 的表有question 字段 是外键
我们可以登录 后台管理 看到

输入 http://127.0.0.1/polls/appadmin/
输入管理密码
可以看到 我们建立的两个表,还有系统权限表,不过对这个应用目前没有关系
我们 可以为 Question 表添加新纪录
点击后边的 新纪录 按钮

可以看到 在 datetime 数据是 web2py 为我们提供了 一个插件以供选择时间。
输入之后点击 提交
在 管理界面 点击 表名 就可以看到list了。

确实是简陋的管理界面,不过开发人员不要在意这些细节
我们 同样的方法看一下 Choice 的添加页面

应该算是比较完美的呈现吧,系统为了做了 外键关联。
我们这里的建立模型就结束了
课后练习
尝试使用不同的数据库
系统为我们提供了 很多种 验证工具,可以尝试一下,这里只是用了 IS_IN_DB
web2py--------------用web2py写 django的例子 --------建立一个投票应用(2)的更多相关文章
- web2py--------------用web2py写 django的例子 --------建立一个投票应用(3)
我们建立了数据模型,然后这次来进行页面的展示 1.这里是列表页面的 control 这里是dal的语法 只有两行 第一行 是查询出所有问题,也就是问题的id大于0 第二行是返回问题的列表 这里是vie ...
- 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 ...
随机推荐
- MyDetailedOS
http://njumdl.sinaapp.com/ https://github.com/mudongliang
- PAT 1009
1009. Product of Polynomials (25) This time, you are supposed to find A*B where A and B are two poly ...
- Github 上的 iOS 开源项目
在 Github 上 Star 太多了,有时候很难找到自己想要的开源库,所以在此记录下来.便于自己开发使用,也顺便分享给大家. 动画 awesome-ios-animation收集了iOS平台下比较主 ...
- Logstash add_field 参数应用
使用 add_field 参数有两种需求: 1. 直接加入到 event 的 hash 顶级对象中 add_field => { "my_field_one" => & ...
- Android学习(一) - Activity
好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...
- mongodb用mongoose取到的对象不能增加属性
先定义了一个article的schema var mongoose = require('mongoose'); var Schema = mongoose.Schema; exports.schem ...
- Android开发了解——AIDL
AIDL:Android Interface Definition Language,即Android接口定义语言. 什么是AIDL Android系统中的进程之间不能共享内存,因此,需要提供一些机制 ...
- monkey检测内存泄漏
monkey中检查内存泄漏,实际上是对一个操作多次操作后看内存情况,内存泄漏具体的原理可百度,现在我们梳理检测内存泄漏的方法: 测试前你需要安装: 1.MAT分析工具 2.使用工具事实监控内存指标,现 ...
- Java学习步骤
我们为什么选择Java 大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么 ...
- akka构建简单分布式应用
http://www.cnblogs.com/hequn/articles/3764630.html 当程序的要求达到一台计算机的极限时,我们便需要将程序分布式化,让程序运行在多台计算机上.akka提 ...