|版权声明:本文为博主原创文章,未经博主允许不得转载。

其实到这里网站的基本功能已经完成一半了,第六节就完成文章内容的阅读功能。


完成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-文章内容浏览的更多相关文章

  1. Python快速建站系列-Part.Four-首页内容填充

    |版权声明:本文为博主原创文章,未经博主允许不得转载. Part.Three中实现了注册和登录的功能,那这一节完成主页内容的填充,并且主页中要实现简单的可以查找代码的功能. 而且有于公共代码部分存储在 ...

  2. Python快速建站系列-Part.One-组装开发环境

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...

  3. Python快速建站系列-Part.Three-注册和登录

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...

  4. Python快速建站系列-Part.Five.2-个人主页及文章列表

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 从usercen.html就可以发现我为个人主页设了三个分开的小版面:写文章.个人文章目录.个人资料 所以按顺序Part.Five的第二部分就完 ...

  5. Python快速建站系列-Part.Five.1-个人主页及发表文章

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 现在的TSSS已经有了注册和登录的功能,首页的内容也填充好了,那这一节就完成用户个人主页的内容和发表文章功能的实现. 先完成用户个人主页的use ...

  6. Python快速建站系列-Part.Two-结构化和布局

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 首先明确我们要建一个什么样的站,作为教程(也算自己使用tornado的一个小总结),自然功能不能太多,但又满足一个普通网站需要的就行了. 目前想 ...

  7. Python快速建站系列-Part.Five.3-个人主页及资料页面

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 第五部分最后一节,完成个人主页里资料页面的个人资料的展示和修改功能,不过毕竟功能比较少,个人资料其实只有昵称一项,手动滑稽. 一如既往先写出来u ...

  8. PHPCMS快速建站系列之常用标签

    <span class="Nmore"><a href="/index.php?m=content&c=index&a=lists&am ...

  9. PHPCMS快速建站系列之搜索功能

    默认模板的搜索功能代码 <div class="bd"> <form action="{APP_PATH}index.php" method= ...

随机推荐

  1. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  2. 【水】基于ege的简单3D模拟

    我们模拟从被观察物体射出光线,在眼球焦点交汇,然后打到视网膜上成像 ——足够了吧,剩下的难度应该是普及- 只是有一些常数可以自己调一下,看着顺眼就好 #include <graphics.h&g ...

  3. Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (dist) on project hadoop-kms: An Ant BuildException has occured

    编译cdh版hadoop2.5.0出现的问题 系统: CentOs66 64位 JDK:1.7 Maven: 3.0.5 Protobuf: libprotoc 2.5.0 编译命令: mvn pac ...

  4. jquery.cookie.js && java后台代码 操作cookie实现记住当前用户输入信息代码

    下载jquery.cookie.js地址看这里:http://pan.baidu.com/s/1gdCPaN5 //初始化页面时验证是否记住了密码 $(document).ready(function ...

  5. &与&&,|与||

    http://bokeid.blog.163.com/blog/static/93102786201181710259178/ &&:逻辑运算符,连接两个或多个表达式,结果为TRUE或 ...

  6. Graph cuts图论分割

    Graph cuts是一种十分有用和流行的能量优化算法,在计算机视觉领域普遍应用于前背景分割(Image segmentation).立体视觉(stereo vision).抠图(Image matt ...

  7. CSS方法论完全总结

    软件开发领域所有的工程问题,归根结底衍生自一个问题:代码量大了怎么办? 对于CSS而言,因代码量增大导致的核心问题是命名冲突. 解决命名冲突的方法论是模块化,围绕此方法论,演化出种种模块化方案. 一. ...

  8. div span

    无牵无挂,不带任何样式,因此经常使用div完成整体样式的构建,span完成细微样式的构建. div为块级元素,span为行内元素. 使用div完成显示区域的居中.左右浮动等,完成整体的样式布局,然后在 ...

  9. sqlite在火狐中安装及使用

    1.SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入 ...

  10. hibernate学习(9)——日志,一对一,二级缓存

    1.Hibernate中的日志 1  slf4j 核心jar  : slf4j-api-1.6.1.jar .slf4j是日志框架,将其他优秀的日志第三方进行整合. 整合导入jar包 log4j 核心 ...