【從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' class='h4 text-primary'>成員</a></li>
	<li><a href='/chat/1' class='h4 text-primary'>羣聊</a></li>
	{%if not cookieName%}
	<form action='/' method='post' class='form-inline'>
		<div class='form-group'>
			<label class='sr-only'>用戶名</label>
			<input type='text' name='username' class='form-control' placeholder='用戶名'/>
		</div>
		<div class='form-group'>
			<label class='sr-only'>密碼</label>
			<input type='password' name='password' class='form-control' placeholder='密碼'/>
		</div>
		<button type='submit' class='btn btn-success'>登錄</button>
		<a href='/register'>無帳號,請點擊註冊</a>
	</form>
	{%else%}
	<li><a href='/user/{{cookieName}}' class='h4 text-primary'>歡迎:{{cookieName}}</a></li>
	<li><a href='/logout' class='h4 text-primary'>註銷</a></li>
	{%end%}
</ul>
{%end%}
{%block content%}
<ul>
	{%for i in blogs%}
	<li><a href='/user/{{i[1]}}' class='text-success h4'>【{{i[1]}}】</a><a href='/blog/{{i[0]}}' class='text-primary h3'>{{i[2]}}</a></p><p class='text-muted h6'>{{i[3]}}</p></li>
	<br/>
	{%end%}
</ul>
{%end%}

後臺代碼如下:

class indexHandler(tornado.web.RequestHandler):
	def get(self):
		name=self.get_cookie('hackerName')
		blogs=showAllBlog()
		self.render('index.html',cookieName=name,blogs=blogs)
	def post(self):
		name=self.get_argument('username')
		pw=self.get_argument('password')
		res=check(name,pw)
		if res: #密碼正確
			self.set_cookie('hackerName',name)
		else: #密碼錯誤
			pass
		self.redirect('/')

showAllBlog函數是顯示所有用戶發表了的文章,定義如下:

def showAllBlog():
	c.execute('select id,name,title,time from blog')
	tmp=c.fetchall()
	return tmp[::-1]

按照發表時間排序,就是逆序輸出。數據庫blog表格定義如下:

CREATE TABLE blog(id integer primary key,name text,title text,blog text,time text);

    這樣每個人發表的最新文章都會在主頁顯示,登錄成功後主頁顯示如下:

點擊用戶名可以進入該用戶的主頁。


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


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