django复习1

settings.py中的文件路径必须是绝对路径。因为相对路径是不清楚的(one of python's philosophies)。但是我们可以通过在settings.py中添加以下代码段来让我们在settings.py中可以使用相对路径。

import os
rel = 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开发者实现的第三方模式迁移的实现,这些值得注意。但到目前,官方没有相关方法。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一门高级、易学且功能强大的编程语言,常被用于数据科学、Web开发、自动化脚本和机器学习等领域。进行Python复习,可以从以下几个关键部分入手: 1. **基础语法**: - 变量和数据类型(如整数、浮点数、字符串、列表、元组、字典等) - 控制结构(条件语句、循环、异常处理) - 输入输出(input()和print()函数) 2. **函数和模块**: - 函数定义和调用 - 内置函数和标准库使用 - 导入模块和包 3. **面向对象编程**: - 类和对象 - 封装、继承和多态的基本概念 - 特殊方法(如`__init__`、`__str__`等) 4. **数据结构和算法**: - 列表推导式和生成器 - 集合和字典操作 - 常见算法(排序、搜索等) 5. **Python 3 新特性**: - f-string格式化 - 列表和字典推导 - Context Managers和with语句 6. **标准库**: - os、sys、math、datetime等模块的使用 7. **数据分析与科学计算**: - NumPy、Pandas和SciPy库 - 数据清洗、处理、分析 8. **Web开发**: - Flask或Django框架基础 - HTML模板和请求响应模型 9. **机器学习与人工智能**: - Scikit-learn库简介 - TensorFlow和Keras的简单应用 10. **实践项目**: - 完成一些小项目以巩固所学知识,如爬虫、小游戏或数据分析应用。 如果你需要更深入的学习资料或者具体某个方面的复习建议,随时告诉我,我可以提供相关的资源链接和练习示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值