本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7616305
建立时间:2006年5月29日




[Django]翻译www.djangobook.com之第五章:与数据库交互:模型
软件技术

lhwork 发表于 2007/1/28 15:53:32

The Django Book:第5章 与数据库交互:模型 第3章我们谈到了用Django构建动态网站,设置视图和URL配置 如我们所说,试图负责逻辑和返回应答,例子中我们计算了当前的日期和时间 现在的Web程序中常常和数据库打交道 一个数据库驱动的网站在后台连接数据库服务器,得到并显示很好的格式化的Web页面 同样,网站也可以提供给访问者也具有操作数据库的功能 许多复杂的网站以上两种功能的结合,如Amazon.com就是一个数据库驱动的站点 每一个产品页面都是Amazon数据库格式后的HTML,你访问页面也就是间接访问数据库 Django很适合数据库驱动的网站,通过Python它提供强大的数据库访问能力 这章将讲述Django的数据库层 在视图里进行数据库查询的“哑”方式 前一章讲到通过在视图里硬编码HTML来输出HTML的“哑”方式,在视图里也有得到数据库数据的“哑”方式 这很简单,只是使用一些Python库执行SQL查询并且处理结果 在下面的例子里我们使用MySQLdb库(可以在如下地址得到http://sourceforge.net/projects/mysql-python) 来连接MySQL数据库,得到一些记录来填充模板,并显示到Web页面上: 代码from django.shortcuts import render_to_response  import MySQLdb    def book_list(request):      db = MySQLdb.connect(user='me', db='mydb', passwd='secret', host='localhost')      cursor = db.cursor()      cursor.execute('SELECT name FROM books ORDER BY name')      names = [row[0] for row in cursor.fetchall()]      db.close()      return render_to_response('book_list.html', {'names': names})   确认你定义的任何模型都有一个__str__()方法,不仅是使在你自己使用交互环境时更方便 也因为当Django在几个地方需要显示对象时会使用__str__()的输出 最后,注意__str__()是给模型添加行为的好习惯 一个Django模型描述的不仅仅是一个对象数据库表结构,它也描述了对象知道怎样去做的功能 __str__()就是这样的功能的一个例子,一个模型知道怎样显示它自己 创建和修改对象 This chapter is not yet finished.[list][img][/img]


阅读全文(2183) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.043 second(s), page refreshed 144794088 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号