django复习1
来源:互联网 发布:ubuntu系统输入法 编辑:程序博客网 时间:2024/06/06 02:49
settings.py中的文件路径必须是绝对路径。因为相对路径是不清楚的(one of python's philosophies)。但是我们可以通过在settings.py中添加以下代码段来让我们在settings.py中可以使用相对路径。
import osrel = lambda *x: os.path.join(os.path.abspath(os.path.dirname(__file__)), *x)
第二行中我们创建了一个称做rel的lambda/anonymous函数。在python中,lambda函数通常是带返回值的短短一行的函数,而它的返回值是隐式传递的。作为lambda函数定义的一部分,任意多的参数都将被储存于x数组中。
让我们来用一下上面定义的函数来设置TEMPLATE_DIRS:
TEMPLATE_DIRS = ( rel(‘templates’), )
这样我们就将TEMPLATE_DIRS与当前项目目录中的templates子目录关联起来了。再次强调,若没有定义rel函数,在settings.py中对文件路径的设置需使用绝对路径。
from django.contrib.auth.models import User class Post(models.Model): author = models.ForeignKey(User, related_name=’posts’) title = models.CharField(max_length=200) body = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) up_date = models.DateTimeField(auto_now=True) def __unicode__(self): return self.title
在应用被装载时,它们是按照上面列出的顺序装载的。所以你自己定义的应用应该放在最后,因为它们依赖于Django内置的应用。
manage.py syncdb不会做模式迁移。这意味着syncdb只会创建数据库中不存在的表,若该表已存在,django syncdb不会做任何事。这样,在你想对model&table做出一些修改时就会出现问题了。最简单的方法是运行python manage.py reset <appname>来删除并重新创建特定应用的表,但这样你就失去了之前所存的数据。或者,目前有许多django开发者实现的第三方模式迁移的实现,这些值得注意。但到目前,官方没有相关方法。
- django复习1
- Django框架概念复习
- django快速复习(持续更新)
- Django复习:创建与使用
- Django复习:视图和模版
- Django知识点快速复习-Django简介和MVT
- Django数据库操作复习实例(一)
- Django复习:模型与管理网站
- 复习1
- 复习1
- 复习1
- 复习1
- 复习1
- 复习1
- 复习1
- Django-1
- django 1
- Django 1
- 游戏引擎多线程(三)
- Eclipse快捷键大全如下:
- jquerymobile常用data属性
- 2013年寒假计划
- EXTJS4.x之combobox的使用
- django复习1
- 2013年一点感悟
- Torrent文件结构解析
- PostgreSQL学习笔记8之索引
- android中如何让一个Activity透明
- 表分区的创建
- 匈牙利命名法
- POJ3253--哈夫曼树
- 你为什么玩游戏