【从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

【从0开始Tornado建站】总体设计,布布扣,bubuko.com

时间: 2024-08-05 23:34:57

【从0开始Tornado建站】总体设计的相关文章

【从0开始Tornado建站】显示所有注册用户

显示注册用户的前台主要代码如下: {%block content%} <ul> {%for i in users%} <li><a href='/user/{{i[1]}}' class='text-success h4'>{{i[1]}}<small>({{i[3]}}星级)</small></a></li> {%end%} <br/> </ul> {%end%} 显示注册用户的后台代码如下: c

【从0开始Tornado建站】注册

基本的注册功能有用户名.密码和密码确认,当然邮箱确认和基本信息填写在高阶的时候完善,现在只完成基本功能.在register.html写如下内容: {%extends 'main.html'%} {%block content%} <p class='text-danger'>注册用户名不支持中文</p> <script src='static/checkpw.js'></script> <form action='/register' method='

【从0开始Tornado建站】主页的登录和显示最新文章

登录只要放在主页就可以了,这里为了美观,把<form>用bootstrap的form-inline类修饰,如下样子: 前台代码如下: {%extends 'main.html'%} {%block header%} <ul class='nav nav-pills'> <li><a href='/' class='h4 text-primary'>首页</a></li> <li><a href='/member' c

【从0开始Tornado建站】群聊

群聊的前台主要代码: {%block content%} <!--<p class='text-success h3'>测试版本,每天凌晨4:00清水,enjoy it~~:-)</p>--> <ul> {%for i in content[19*int(num)-19:19*int(num)]%} <li class='text-info'><a href='/user/{{i[1]}}' class='text-success h4'&

【从0开始Tornado建站】发表文章和评论

先上个效果图: 这是每个用户的主页,因为是基本功能,所以用户头像,爱好等信息都还没有,在下一阶段加上.右侧"发表新文章"按钮点击后进入发表文章的页面: 之前尝试过一些开源的富文本编辑器widgEditor和百度的ueditor,总感觉太大众化,既然域名是hacker,那就用hack一些的方式,直接用裸的<textarea>然后用markdown格式就最棒了嘛,发表后的样子: 完美支持markdown,而且我测试过的所有markdown编辑器比如retext.dillinge

【从0开始Tornado建站】0.9版本python网站代码开源--持续更新中

从5月份开始[从0开始Tornado建站]这个专栏,开始一点一点把这个分类兴趣网站弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,现在网站域名为ustchacker.com, 欢迎加入,一起分享代码和点子,可以提问题共同进步- 现在的代码版本是0.9(我自己定的...因为还在完善中),希望能依靠开源的力量打造出一个分类兴趣网站的模板式框架!托管在GitHub上: https://github.com/littlethunder/ustchacker.com ,希望大家对p

【从0開始Tornado建站】0.9版本号python站点代码开源--持续更新中

? ? ? ? 从5月份開始[从0開始Tornado建站]这个专栏,開始一点一点把这个分类兴趣站点弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,如今站点域名为ustchacker.com, 欢迎增加,一起分享代码和点子,能够提问题共同进步- 如今的代码版本号是0.9(我自己定的.. .由于还在完好中),希望能依靠开源的力量打造出一个分类兴趣站点的模板式框架! 托管在GitHub上:?https://github.com/littlethunder/ustchacker.

【从0開始Tornado建站】整体设计

Tornado是一个非堵塞的webserver,也是python的web框架中很优秀的一款.网上关于django的tutorial许多并且具体,关于tornado的使用就很少了.我想以我从0開始的方式一步一步用这个优秀的tornado框架建一个小站点.一方面加深自己的理解.还有一方面接受大家的建议和批评.更加进步~我注冊了个域名:http://www.ustchacker.com,因为server在学校里面.外网訪问不了,等功能完好后再挂到外网去. 我想建的是一个普通的站点,有登录.注冊.发表文

【从0開始Tornado建站】群聊

群聊的前台主要代码: {%block content%} <!--<p class='text-success h3'>測试版本号,每天凌晨4:00清水,enjoy it~~:-)</p>--> <ul> {%for i in content[19*int(num)-19:19*int(num)]%} <li class='text-info'><a href='/user/{{i[1]}}' class='text-success h4'