WEB开发网
开发学院软件开发Python 基于 Django 框架的敏捷 Web 开发 阅读

基于 Django 框架的敏捷 Web 开发

 2008-09-30 13:04:16 来源:WEB开发网   
核心提示: 上面这段Python代码定义了存储新闻分类的List数据表,上述模型中的定义会被Django转换成与数据库直接交互的结构化查询语言来建立数据表,基于 Django 框架的敏捷 Web 开发(5),即创建一个名为List的表格,表格内的两个字段分别是Django自动生成的整型主键id和最大宽

上面这段Python代码定义了存储新闻分类的List数据表,上述模型中的定义会被Django转换成与数据库直接交互的结构化查询语言来建立数据表,即创建一个名为List的表格,表格内的两个字段分别是Django自动生成的整型主键id和最大宽度为250个字符的VARCHAR类型字段title,并且在title字段上定义了唯一性约束,来保证新闻分类不会有完全相同的名称。

在List类文件里还定义了函数__str__(),作用是返回self字符串表示的title字段。而在类Meta中,设置了List表格按照title字母顺序的排序方式。在类Admin的设置中,允许Django针对当前的Models模型自动生成Django超级用户的后台管理入口,关键词pass设定Django将按照默认方式生成后台管理界面。这一部分在稍后的章节可以看到,由此也可以体会到Django带来的独特魅力。下面再来添加新闻条目Item对应的Models模型,代码如下面所示:

清单 2. 添加新闻条目Models模型

        import datetime
class Item(models.Model):
title = models.CharField(maxlength=250)
created_date = models.DateTimeField(default=datetime.datetime.now)
completed = models.BooleanField(default=False)
article_list = models.ForeignKey(List)
def __str__(self):
  return self.title
class Meta:
  ordering = ['-created_date', 'title']
class Admin:
  pass

Item数据表对应的Models代码稍微复杂一些,但并不晦涩。代码里首先引入datetime类型,用于定义表示文章创建日期的created_date字段,并且通过Python的标准函数datetime.datetime.now返回系统当前日期来设置字段的默认值。在记录排序的ordering设置中,符号“-”表示按照日期的倒序进行排列,如果文章创建日期相同,则再按照title的字母序正序排列。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:基于 Django 框架

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接