Python快速建站系列-Part.Four-首页内容填充
|版权声明:本文为博主原创文章,未经博主允许不得转载。
Part.Three中实现了注册和登录的功能,那这一节完成主页内容的填充,并且主页中要实现简单的可以查找代码的功能。
而且有于公共代码部分存储在本机,所以用存储路径的方式存储本地代码的信息。
先写了index.html↓
{% extends "main.html" %}
{% block content %}
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button> <a class="navbar-brand" href="#">TSSS</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li>
<a href="/">首页</a>
</li>
<li>
<a href="/code/list">算法</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">代码<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li>
<a href="https://github.com/MU001999/The-algorithms">GitHub</a>
</li>
<li>
<a href="https://leetcode.com/">LeetCode</a>
</li>
<li>
<a href="https://www.codewars.com/">CodeWars</a>
</li>
<li class="divider">
</li>
<li>
<a href="https://github.com/sxy1001">SXY1001</a>
</li>
<li class="divider">
</li>
<li>
<a href="https://github.com/MU001999">MU001999</a>
</li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search" action="/" method="POST">
<div class="form-group">
<input type="text" class="form-control" name="codename" />
</div> <button type="submit" class="btn btn-default">查找</button>
</form>
{%if not cookieName%}
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/sign/in">登入</a>
</li>
<li>
<a href="/sign/up">注册</a>
</li>
</ul>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/user/main">{{ username }}</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">更多<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li>
<a href="/user/main">个人中心</a>
</li>
<li>
<a href="/user/code">我的代码</a>
</li>
<li>
<a href="/user/plan">我的计划</a>
</li>
<li class="divider">
</li>
<li>
<a href="/sign/out">退出登录</a>
</li>
</ul>
</li>
</ul>
{% end %}
</div>
</nav>
<span class="label label-danger">本日最佳</span>
<div class="jumbotron well">
<h1>
Hello, world!
</h1>
<p>
#include <stdio.h>
</p>
<p>
int main()
</p>
<p>
{
</p>
<p>
printf("Hello,World!");
</p>
<p>
return 0;
</p>
<p>
}
</p>
<p>
<a class="btn btn-primary btn-large" href="#">查看讨论</a>
</p>
</div>
<div class="list-group">
<a href="#" class="list-group-item active">最新文章</a> {% for blog in blogs %}
<div class="list-group-item">
<a href="/blog/{{ blog['_id'] }}">{{ blog['title'] }}</a>
</div>
{% end %}
</div>
{% end %}
↑其中Hello world那部分可以以后根据评论数排序出来的第一个换掉。
再来看一下数据库规范↓
codedb:blogs _id ID author 作者 title 题目 content 内容 datetime 时间
然后写IndexHandler↓
class IndexHandler(web.RequestHandler):
def get(self):
coll = self.application.db.blogs
username = self.get_cookie('username')
blogs = coll.find().sort('datetime',pymongo.DESCENDING)
self.('index.html',username=username,blogs=blogs)
def post(self):
coll = self.application.db.codes
codename = self.get_argument('codename')
codeone = coll.find_one({'title':codename})
if codeone:
try:
with open(os.path.dirname(__file__),findcode['path'],'r') as f:
content = f.read()
self.render('code\codeview.html',codeone = codeone)
except:
self.set_status(404)
self.write({'error':'code not be here now'})
这样主页的内容就填充完成了。
Python快速建站系列-Part.Four-首页内容填充的更多相关文章
- Python快速建站系列-Part.Six-文章内容浏览
|版权声明:本文为博主原创文章,未经博主允许不得转载. 其实到这里网站的基本功能已经完成一半了,第六节就完成文章内容的阅读功能. 完成blogview.html↓ {% extends "m ...
- Python快速建站系列-Part.One-组装开发环境
|版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...
- Python快速建站系列-Part.Three-注册和登录
|版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...
- Python快速建站系列-Part.Two-结构化和布局
|版权声明:本文为博主原创文章,未经博主允许不得转载. 首先明确我们要建一个什么样的站,作为教程(也算自己使用tornado的一个小总结),自然功能不能太多,但又满足一个普通网站需要的就行了. 目前想 ...
- Python快速建站系列-Part.Five.3-个人主页及资料页面
|版权声明:本文为博主原创文章,未经博主允许不得转载. 第五部分最后一节,完成个人主页里资料页面的个人资料的展示和修改功能,不过毕竟功能比较少,个人资料其实只有昵称一项,手动滑稽. 一如既往先写出来u ...
- Python快速建站系列-Part.Five.2-个人主页及文章列表
|版权声明:本文为博主原创文章,未经博主允许不得转载. 从usercen.html就可以发现我为个人主页设了三个分开的小版面:写文章.个人文章目录.个人资料 所以按顺序Part.Five的第二部分就完 ...
- Python快速建站系列-Part.Five.1-个人主页及发表文章
|版权声明:本文为博主原创文章,未经博主允许不得转载. 现在的TSSS已经有了注册和登录的功能,首页的内容也填充好了,那这一节就完成用户个人主页的内容和发表文章功能的实现. 先完成用户个人主页的use ...
- PHPCMS快速建站系列之后台内容自定义修改
一.后台登录页面 背景图:\statics\images\admin_img 中的 login_bg.jpg 底部版权信息:\phpcms\languages\en 中的 system.lang.ph ...
- PHPCMS快速建站系列之类别调用及类别显示页面
在需要调用类别的地方,比如列表页,首先写循环前面写上一句: <?php $TYPE = getcache('type_content','commons');?> 这句就是把类别缓存加载进 ...
随机推荐
- iOS9 升级XCode7遇到的问题收集
开发环境运行 各位可能会觉得,笔者在此还要讲开发环境的运行,是不是多此一举.其实并非如此,综合笔者这几年iOS开发经验的总结,运行新版本,特别是测试版本的Xcode是一个需要格外小心的事情, ...
- Spring MVC过滤器-字符集过滤器(CharacterEncodingFilter)
spring的字符集过滤通过用于处理项目中的乱码问题,该过滤器位于org.springframework.web.filter包中,指向类CharacterEncodingFilter,Charact ...
- HTTPS原理介绍
内容来源于:http://www.guokr.com/post/114121/ 自己做个备忘. 二.HTTPS到底安全吗? 这个答案是肯定的,很安全.谷歌公司已经行动起来要大力推广HTTPS的使用,在 ...
- [LintCode] Longest Increasing Continuous Subsequence 最长连续递增子序列
Give an integer array,find the longest increasing continuous subsequence in this array. An increasin ...
- Struts2下的<result>中的type整理
1.<result name="处理结果名" type="相应结果类型">“响应内容”</result> 解释:name的值shift指 ...
- 关于mysql(或MariaDB)中的用户账号格式
之前在修改数据库本地root用户密码时,发现我远程连接的root用户的密码并没有改变,之后查了一下,发现原来这两个root不是同一个用户(汗..) 于是联想到之前配置数据库每次给用户赋予远程连接权限时 ...
- Uncaught SyntaxError: Unexpected token ILLEGAL
原因,相关的JS函数中,存在一个中文逗号,修改即可正常执行
- 2016HUAS暑假集训题1 H - N皇后问题
Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合 ...
- 2016HUAS暑假集训题1 A-士兵队列训练问题
A - 士兵队列训练问题 Description 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从 ...
- $.getJSON JSONP的新坑
神坑1:返回的内容必须是正规的json数据.如 { "firstName": "Bill", "lastName": "Gates ...