惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
罗磊的独立博客
爱范儿
爱范儿
Apple Machine Learning Research
Apple Machine Learning Research
S
Schneier on Security
V
Vulnerabilities – Threatpost
T
Tenable Blog
博客园 - 【当耐特】
博客园 - 聂微东
I
Intezer
S
Securelist
C
Cisco Blogs
腾讯CDC
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Security Archives - TechRepublic
Security Archives - TechRepublic
D
Darknet – Hacking Tools, Hacker News & Cyber Security
美团技术团队
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
AWS News Blog
AWS News Blog
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Cloudbric
Cloudbric
S
Secure Thoughts
PCI Perspectives
PCI Perspectives
The Last Watchdog
The Last Watchdog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
The Register - Security
The Register - Security
博客园 - 叶小钗
博客园 - 司徒正美
博客园_首页
Google DeepMind News
Google DeepMind News
Hacker News: Ask HN
Hacker News: Ask HN
Spread Privacy
Spread Privacy
雷峰网
雷峰网
I
InfoQ
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Schneier on Security
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 永不言败

JavaScript 语言基础知识点总结(思维导图) 关于Visual Studio项目系统属性中的宏 MongoDb的相关资料 javascript apply 和call的区别,javascript设计模式 Adding a QR Code Reader in Flex on Android castle 在mvc3如何注入 Castle Automatic Transaction Management python webpy模板介绍 使用 asp.net mvc和 jQuery UI 控件包 Howto create a System.Linq.Expressions.Expression for Like 实体框架继承关系。很好 淘宝店铺图片数据迁移核心代码 mvc扩展 ASP.NET MVC 2 Templates C#、VB.NET使用HttpWebRequest访问https地址(SSL)的实现 Nhibernate继承 Castle 容器注入学习例子 javaScript 运算符 && 和 || 的返回值 event.x,event.clientX,event.offsetX区别
webpy demo核心代码
永不言败 · 2011-07-01 · via 博客园 - 永不言败

# -*-encoding:utf-8 -*-

"""Basic Blog using webpy 0.3 """import web
import config
import controllers

app

= web.application(config.urls,globals())if __name__ =='__main__':
app.run()
class Index:def GET(self):
web.header(
'Content-Type','text/html;charset=UTF-8')
web.setcookie(
"age",30)

posts

=model.get_posts()
return render.index(posts,web.cookies())class View:def GET(self,id):
""" View sing post """
post
= model.get_post(int(id))
print datetime.datetime.strptime('2009-9-9 16:56:58','%Y-%m-%d %H:%M:%S')
print datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return render.view(post)class New:
#vtitle = web.form.regex(r".{3,20}$", '标题长度3到20位字符')
form=web.form.Form(
web.form.Textbox(
'title',web.form.notnull,
size
=30,
description
=u"标题"),
web.form.Textarea(
'content',web.form.notnull,
rows
=30,cols=80,
description
=u"内容"),
web.form.Button(
'submit',type="submit",html=u'提交'),

)

def GET(self):
form
= self.form()return render.new(form)def POST(self):
form
= self.form()
if not form.validates():
return render.new(form)
model.new_post(form.d.title,form.d.content)
raise web.seeother('/')class Delete:
def POST(self,id):
model.del_post(int(id))
raise web.seeother('/')class Edit:def GET(self,id):
post
= model.get_post(int(id))
form
= New.form()
form.fill(post)
return render.edit(post,form)def POST(self,id):
form
=New.form()
post
= model.get_post(int(id))
if not form.validates():
return render.edit(post,form)
model.update_post(int(id),form.d.title,form.d.content)
raise web.seeother('/')def notfound():
return web.notfound("Sorry, the page you were looking for was not found.")

model.py

import web,datetime
db
= web.database(dbn='sqlite',db='blog.db')def get_posts():
return db.select('entries',order='id desc')def get_post(id):
try:
return db.select('entries',where='id=$id',vars=locals())[0]
except IndexError:
return Nonedef new_post(title,text):

db.insert(

'entries',title=title,content=text,post_on=datetime.datetime.utcnow())def del_post(id):
db.delete(
'entries',where="id=$id",vars=locals())def update_post(id,title,text):
db.update(
'entries',where="id=$id",vars=locals(),
title
=title,content=text)