首先这个博客程序十分简单,就是一个首页,一个文章详情页面,一个登陆页面,还有一个编辑/添加的页面。
可以通过
http://codecos.com 访问。github地址:
https://github.com/daimin/tolog1. 关于BAE
部署在BAE上面,BAE还是很给力的。对于我等舍不得花钱买空间的码农来说,还是一个福音,而且它给得免费配额是很大的,起码比SAE大,速度也不错,支持的语言环境也比较多,
本人在上面就部署了PHP,node.js和Python三个。
不过需要配置URL,其实就和在web.py里面配置的差不多,不过就是要我们还要在BAE里面(app.conf)再设置一下罢了。
- url : /(\d*)
script : index.py
- url : /new
script : index.py
- url : /view/(\d*)
script : index.py
- url : /delete/(\d+)
script : index.py
- url : /login/?
script : index.py
- url : /edit/(\d+)
script : index.py
- url : /tag/(\d+)/?(\d*)
script : index.py
- url : /search/([^\s/]+)/?(\d*)
script : index.py
- url : /date/(\d+)/?(\d*)
script : index.py
- url : /month/(\d+)/?(\d*)
script : index.py
- url : /year/(\d+)/?(\d*)
script : index.py
- url : logout/?
script : index.py
- url : /static/(.*)
script : index.py
只不过它的文件系统不能持久化,所以至于上面图片等,可以考虑存到数据库,或者是采用其他的图片服务。
2. 关于Web.py
首先沉重悼念 Aaron Swartz。
web.py是很简单的,像这样:
urls = (
r'/(\d*)', 'Index',
)
就行了,Index是一个类,你可以定义一个POST和GET函数,它们分别对象POST和GET请求。
class Index:
def GET(self, page):
""" Show page """
#做你想做的
return render.index(传数据)
def POST(self, page):
return render.index(传数据)
web.py虽然很简单但是运行效率的确不怎样,但是做一个个人的博客之内的还是足够了的,而且关键还要看怎样优化了。
3. 结合web.py和BAE
在BAE上面运行web.py有一些特许的配置。
mysql: dbname = "mytestdb"
mydb = MySQLdb.connect(
host = const.MYSQL_HOST,
port = int(const.MYSQL_PORT),
user = const.MYSQL_USER,
passwd = const.MYSQL_PASS,
db = dbname)
运行web.py:app = web.application(urls, globals()).wsgifunc()
from bae.core.wsgi import WSGIApplication
application = WSGIApplication(app)