Python快速建站系列-Part.Six-文章内容浏览
|版权声明:本文为博主原创文章,未经博主允许不得转载。
其实到这里网站的基本功能已经完成一半了,第六节就完成文章内容的阅读功能。
完成blogview.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/codelist">算法</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>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/user/usercen">{{ 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/usercen">个人中心</a>
</li>
<li>
<a href="/user/mycode">我的代码</a>
</li>
<li>
<a href="/user/plan">我的计划</a>
</li>
<li class="divider">
</li>
<li>
<a href="/sign/out">退出登录</a>
</li>
</ul>
</li>
</ul>
</div>
</nav>
<ul class="nav nav-tabs">
<li>
<a href="/user/usercen">写文章</a>
</li>
<li class="active">
<a href="#">个人文章目录</a>
</li>
<li>
<a href="/user/userinfo">个人资料</a>
</li>
<li class="dropdown pull-right">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">↓↓↓<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li>
<a href="#">修改密码</a>
</li>
</ul>
</li>
</ul><br>
<div class="page-header">
<h1 class="text-center">
{{ blog['title'] }} <small>by {{ blog['author'] }}</small>
</h1>
</div>
<br><br>
{% raw blog['content'] %}
{% end %}
完成BlogHandler的一部分功能↓
class BlogHandler(web.RequestHandler):
def get(self,input):
if input == 'list':
pass
else:
coll = self.application.db.blogs
blog = coll.find_one({'_id':ObjectId(input)})
self.render('blogview.html',username = self.get_cookie('nickname'),blog = blog)
文章阅读功能实现。
--Part.Six--
Python快速建站系列-Part.Six-文章内容浏览的更多相关文章
- Python快速建站系列-Part.Four-首页内容填充
|版权声明:本文为博主原创文章,未经博主允许不得转载. Part.Three中实现了注册和登录的功能,那这一节完成主页内容的填充,并且主页中要实现简单的可以查找代码的功能. 而且有于公共代码部分存储在 ...
- Python快速建站系列-Part.One-组装开发环境
|版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...
- Python快速建站系列-Part.Three-注册和登录
|版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...
- Python快速建站系列-Part.Five.2-个人主页及文章列表
|版权声明:本文为博主原创文章,未经博主允许不得转载. 从usercen.html就可以发现我为个人主页设了三个分开的小版面:写文章.个人文章目录.个人资料 所以按顺序Part.Five的第二部分就完 ...
- Python快速建站系列-Part.Five.1-个人主页及发表文章
|版权声明:本文为博主原创文章,未经博主允许不得转载. 现在的TSSS已经有了注册和登录的功能,首页的内容也填充好了,那这一节就完成用户个人主页的内容和发表文章功能的实现. 先完成用户个人主页的use ...
- Python快速建站系列-Part.Two-结构化和布局
|版权声明:本文为博主原创文章,未经博主允许不得转载. 首先明确我们要建一个什么样的站,作为教程(也算自己使用tornado的一个小总结),自然功能不能太多,但又满足一个普通网站需要的就行了. 目前想 ...
- Python快速建站系列-Part.Five.3-个人主页及资料页面
|版权声明:本文为博主原创文章,未经博主允许不得转载. 第五部分最后一节,完成个人主页里资料页面的个人资料的展示和修改功能,不过毕竟功能比较少,个人资料其实只有昵称一项,手动滑稽. 一如既往先写出来u ...
- PHPCMS快速建站系列之常用标签
<span class="Nmore"><a href="/index.php?m=content&c=index&a=lists&am ...
- PHPCMS快速建站系列之搜索功能
默认模板的搜索功能代码 <div class="bd"> <form action="{APP_PATH}index.php" method= ...
随机推荐
- 【JAVA】FOR UPDATE 和 FOR UPDATE NOWAIT 区别 (转)
1.for update 和 for update nowait 的区别:首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限 ...
- java.lang.NoSuchMethodError:
Servlet.service() for servlet [springMVC] in context with path [/mobile] threw exception [Handler pr ...
- DAO 开发模式的几个类
1, vo --> Emp.java 包括getter setter方法 2, dbc --> DatabaseConnection.java 数据库打开关闭 3, ...
- *HDU1455 DFS剪枝
Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- myBatis oracle 与mysql自增问题
mysql <insert id="insert" parameterType="Person" useGeneratedKeys="true& ...
- 使用PowerShell读取SharePoint里列表的内容
1. 在https://www.microsoft.com/en-us/download/details.aspx?id=42038这里下载SharePoint Online Client Compo ...
- 多边形裁剪的Sutherland-Hodgman算法
多边形裁剪是渲染管线中重要的一个子阶段,它将视截体外的多边形去除.一种简单的裁剪策略是一旦发现一个顶点在裁剪区域以外,就立刻丢弃该多边形.更加精细的做法则是,将原来的多边形拆为多个不跨越边界的多边形, ...
- 【emWin】例程三:显示方向的切换
实验指导书及代码包下载: http://pan.baidu.com/s/1pK9o0xP
- 快速理解几种常用的RAID磁盘阵列级别
我发现周围不少人在学习和理解RAID磁盘阵列的原理时,找了很多专业的资料来看,但是因为动手的机会比较少,因此看完以后还是似懂非懂,真正遇到实际的方案设计的时候,还是拿不定主意. 因此,我结合自己在过去 ...
- composer 自动加载原理
核心当然是php5加入来的_autoload函数,当实例化一个不存在的类时,在报错之前,如果定义了_autoload函数,会进行调用此函数,此函数就可以执行相关的include操作. <?php ...