【從0開始Tornado建站】總體設計

        Tornado是一個非阻塞的web服務器,也是python的web框架中非常優秀的一款。網上關於django的tutorial非常多而且詳細,關於tornado的使用就非常少了,我想以我從0開始的方式一步一步用這個優秀的tornado框架建一個小網站,一方面加深自己的理解,另一方面接受大家的建議和批評,更加進步~我註冊了個域名:http://www.ustchacker.com,由於服務器在學校裏面,外網訪問不了,等功能完善後再掛到外網去。

        我想建的是一個普通的網站,有登錄、註冊、發表文章、發表評論、羣聊等,還有的功能之後再完善,現在的這些功能以後還要改進。代碼如下:

import os
import tornado.web
import tornado.ioloop
from handlers import *

handlers=[
		(r'/',indexHandler),
		(r'/member',memberHandler),
		(r'/chat/(\d+)',chatHandler),
		(r'/register',registerHandler),
		(r'/logout',logoutHandler),
		(r'/post',postHandler),
		(r'/user/(\w+)',userHandler),
		(r'/blog/(\d+)',blogHandler),
		(r'/comment',commentHandler),
		]
settings={
		'static_path':os.path.join(os.path.dirname(__file__),'static'),
		'template_path':os.path.join(os.path.dirname(__file__),'template'),
		}

app=tornado.web.Application(handlers,**settings)
app.listen(8888)
tornado.ioloop.IOLoop.instance().start()

        / 對應首頁;/member對應註冊的成員列表;/chat/(\d+) 對應羣聊的網頁,\d+表示頁數,因爲羣聊主題比較多加個分頁比較好;/register對應註冊;/logout對應登出;/post對應發表文章,/user/(\w+)對應每個註冊用戶的主頁;/blog/(\d+)對應每一篇文章;/comment是發表評論用的。

        在template目錄下分別創建相應html文件:

blog.html  index.html  member.html  register.html
chat.html  main.html   post.html    user.html

        還需要一個數據庫,mongodb非常好用,但是出於方便簡單考量,對於小站還是用sqlite3就OK了哈~對於數據庫有很多ORM,目前小站功能簡單,我就自己封裝一下就好了。

        前端框架使用bootstrap,在主模版main.html中如下:

<meta charset='utf-8'>
<html>
	<head>
		<title>USTC Hackers' Club</title>
		<meta name='viewport' content='width=device-width,initial-scale=1.0'>
		<link href='/static/bootstrap.css' rel='stylesheet' type='text/css'>
		<script src='/static/jquery-2.1.1.js'></script>
		<script src='/static/bootstrap.js'></script>
	</head>
	<body>
		<header>
		{%block header%}
		{%end%}
		</header>
		<content>
		{%block content%}
		{%end%}
		</content>
		<footer>
		{%block footer%}
		{%end%}
		</footer>
	</body>
</html>

要加上bootstrap.css和bootstrap.js,由於bootstrap.js依賴jquery,因此jquery-2.1.1.js也是需要加進來的。之後會通過接下來的幾篇文章不斷完善和增加小站功能,並在過程中展現tornado的設計之美。

轉載請註明:轉自http://blog.csdn.net/littlethunder/article/details/25532601

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章