pylons建站日记2_数据库

今天下载并观看pylons的视频教程
http://media.knowledgetap.com/tesla.flv

然后又去按照<<Making a Pylons Blog >>这个教程敲了一点代码
http://wiki.pylonshq.com/display/pylonscookbook/Making+a+Pylons+Blog

收获如下:

1.
@classmethod
可以定义一个类和实例都可以调用方法,参数是类的类型

2.
from randon import sample

sample(xrange(10000),20)

在指定范围中取样

3.
development.ini
配置如数据库地址等等的常量

项目目录下
config/environment.py
启动时初始化pylons的环境,它会读取development.ini到config变量中

model/__ init __.py
定义数据库的表和ORM

websetup.py
建立数据,表结构等等(用命令paster setup-app development.ini执行)

搞定数据库,接下来可以写模板和controller了,明天继续


#model/__ init __.py

metadata = sa.MetaData()

def Table(name,*args,**keys):
return sa.Table(
name,metadata,
sa.Column("id", types.Integer, primary_key=True,autoincrement=True),
*args,**keys
)

def ForeignKey(tabel,*args,**keys):
tabel_name=tabel.name
return sa.Column(
'%s_id'%tabel_name,
types.Integer,
sa.ForeignKey('%s.id'%tabel_name),
*args,
**keys
)

resource_site_table=Table(
"resource_site",
sa.Column("href", types.String()),
sa.Column("title", types.String(255)),
sa.Column("brief", types.String()),
sa.Column("update_time", types.DateTime()),

)

subject_table=Table(
"subject",
ForeignKey(resource_site_table),
sa.Column("href", types.String()),
sa.Column("title", types.String(255)),
sa.Column("update_time", types.DateTime()),
)

plunder_table =Table(
"plunder",
ForeignKey(subject_table),
sa.Column("href", types.String()),
sa.Column("title", types.String(255)),
sa.Column("brief", types.String()),
sa.Column("update_time", types.DateTime(),default=lambda:datetime.now()),

sa.Column("tag", types.String(255)),
sa.Column("author", types.String(255)),
sa.Column("content", types.String()),
)

class ResourceSite(object):
def __str(self):
return self.title

class Subject(object):
def __str(self):
return self.title

class Plunder(object):
def __str(self):
return self.title
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值