博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  django

摘要:转自:http://www.th7.cn/Program/Python/2012/03/19/64691.shtmlORM中通常将对象引用映射到外键,但是对于继承,关系数据库中没有自然有效的方法来对应。从数据存储的角度来看,在映射继承关系时,可以采用几种方式(参考JPA中的InheritanceType.定义):使用单个表,在JPA中称作SINGLE_TABLE。整个继承树共用一张表。使用唯一的表,包含所有基类和子类的字段。每个具体类一张表,在JPA中称作TABLE_PER_CLASS。这种方式下,每张表都包含具体类和继承树上所有父类的字段。因为多个表中有重复字段,从整个继承树上来说,字段是冗 阅读全文

posted @ 2013-09-14 14:42 藤一1222 阅读(154) 评论(0) 推荐(0)

摘要:转自:http://2goo.info/blog/panjj/Django/2010/03/10/29上回说了url函数的用途和使用方法,它有效避免了模板Templates 中url硬编码的问题,是项目更好维护,接下来说permalink,也能更好的防止硬编码,而且也是比较隐含的函数,它比url函数更高级点。它在python的世界里是一个装饰器,短短几行代码,更为精炼:def permalink(func): from django.core.urlresolvers import reverse def inner(*args, **kwargs): bits = func(*args,.. 阅读全文

posted @ 2013-09-12 21:57 藤一1222 阅读(1098) 评论(0) 推荐(0)

摘要:在配置django时,经常遇到编码的问题,即中文显示成乱码的问题,我也是,现在终于知道解决方法了:django的默认编码global_settings里定义的DEFAULT_CHARSET = UTF-8,也就是说django的编码是UTF-8的,如果你想要改为GB2312或者GBK只要在项目文件下的settings文件下添加 DEFAULT_CHARSET = GB2312就可以了。就不用在所有的py文件里都加coding=utf-8 或者 GB2312了,因为默认的编码就是UTF-8了。但是问题还是存在,那么就是在网页中设置。就没问题了。其实有时候这样做了好是出现乱码,或因编码引起异常的话 阅读全文

posted @ 2013-09-09 22:40 藤一1222 阅读(268) 评论(0) 推荐(0)

摘要:1,不要将项目名称包含在引用代码里比如你创建了一个名为"project"的项目,包含一个名为"app"的应用,那么如下代码是不好的:Python代码 1. from project.app.models import Authorfrom project.app.models import Author缺点在于:应用和项目变成了紧耦合,无法将应用轻易变得可重用。如果将来要换一个项目名称,那你可有得受了。推荐的做法是:Python代码 1. from app.models import Authorfrom app.models import Author 阅读全文

posted @ 2013-08-31 21:05 藤一1222 阅读(85) 评论(0) 推荐(0)

摘要:来源:http://hgoldfish.com/blogs/article/77/在水木的Python版问了一下,MEDIA_ROOT主要是用来放置上传的文件。Django的ORM有个特殊的字段叫做FileField是用来存储文件的。不过实际上并不会把文件内容存到数据库里面——因为大多数数据库保存文件时效率低,而是保存在文件系统里面。FileField只记录一个路径。FileField可以像个Python的file类型那样读写。在开发的时候MEDIA_ROOT不应该存放任何文件。它应该指向一个空的目录。运行Django的开发服务器时,需要在urls.py里面加入一个MEDIA_URL的映射,才 阅读全文

posted @ 2013-08-31 21:00 藤一1222 阅读(1251) 评论(0) 推荐(0)

摘要:通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样:class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta: # ...Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等.下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全是可选的.db_table本模块在数据库中对应的表的名字:db_table = "pi 阅读全文

posted @ 2013-08-31 16:02 藤一1222 阅读(175) 评论(0) 推荐(0)