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

现在的TSSS已经有了注册和登录的功能,首页的内容也填充好了,那这一节就完成用户个人主页的内容和发表文章功能的实现。


先完成用户个人主页的usercen.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="/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="/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="/usercen">个人中心</a>
                                 </li>
                                 <li>
                                      <a href="/mycode">我的代码</a>
                                 </li>
                                 <li>
                                      <a href="/myplan/plans">我的计划</a>
                                 </li>
                                 <li class="divider">
                                 </li>
                                 <li>
                                      <a href="/sign-out">退出登录</a>
                                 </li>
                             </ul>
                         </li>
                     </ul>
                 </div>
             </nav>
             <ul class="nav nav-tabs">
                 <li class="active">
                      <a href="#">写文章</a>
                 </li>
                 <li>
                      <a href="/userblog">个人文章目录</a>
                 </li>
                 <li>
                      <a href="/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="/chapwd">修改密码</a>
                         </li>
                     </ul>
                 </li>
             </ul>
             <br>
             <form action="/usercen" method="POST">
                 <p>题目</p>
                 <input class="form-control" type="text" name="title" value="">
                 <p>内容</p>
                 <textarea rows="20" cols="30" name="content"></textarea>
                 <button type="submit">发布</button>
             </form>
 {% end %}

↑这样写的目的就是为了个人主页直接是写文章的地方。

先再来看一下数据库规范↓

codedb:blogs
    _id                 ID
    author             作者
    title                题目
    content            内容
    datetime             时间

接着完成UserHandler↓

 class UserHandler(web.RequestHandler):
     def get(self,input):
         if input == 'usercen':
             coll = self.application.db.users
             if self.get_cookie('username'):
                 self.render('user/usercen.html',username=self.get_cookie('nickname'))
             else:
                 self.redirect('/')
     def post(self,input):
         if input == 'usercen':
             coll = self.application.db.blogs
             author = self.application.db.users.find_one({'username':self.get_cookie('username')})['nickname']
             title = self.get_argument('title')
             content = self.get_argument('content')
             datetime = time.ctime()
             try:
                 coll.insert({'title':title,'author':author,'content':content,'datetime':datetime})
             finally:
                 self.redirect('/user/userblog')

个人主页里的发表文章功能完成。

--Part.Five.1--

Python快速建站系列-Part.Five.1-个人主页及发表文章的更多相关文章

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

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

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

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

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

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

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

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

  5. Python快速建站系列-Part.Six-文章内容浏览

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 其实到这里网站的基本功能已经完成一半了,第六节就完成文章内容的阅读功能. 完成blogview.html↓ {% extends "m ...

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

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

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

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

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

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

  9. PHPCMS快速建站系列之自定义分页函数

    内容分页的实现方法:{pc:content action="lists" catid="$catid" order="id DESC" nu ...

随机推荐

  1. JavaScript放置位置区别

    JavaScript放置位置区别 页面中的脚本会在页面载入浏览器后立即执行.我们并不总希望这样.有时,我们希望当页面载入时执行脚本,而另外的时候,我们则希望当用户触发事件时才执行脚本. 位于 head ...

  2. viso 由于形状保护和/或图层属性设置不能进行编辑

    viso 由于形状保护和/或图层属性设置不能进行编辑 2003: 若要变通解决此问题,删除 从删除 的保护属性,当您尝试删除一个受保护的组件.若要这样做,请按照下列步骤操作:在 Visio 2003或 ...

  3. python基础学习——第二天

    一.python种类 1.1 Cpython python官方版本,使用c语言实现,运行机制:先编译,py(源码文件)->pyc(字节码文件),最终执行时先将字节码转换成机器码,然后交给cpu执 ...

  4. Hadoop.2.x_网站PV示例

    一.网站基本指标(即针对于网站用户行为而产生的日志中进行统计分析) 1. PV:网页浏览量(Page View页面浏览次数,只要进入该网页就产生一条记录,不限IP,统计点每天(较多)/每周/每月/.. ...

  5. ubuntu 安装 wkhtmltopdf 的方法

    参考自:http://vivianyw.blog.163.com/blog/static/1345474222014334256367/ wkhtmltopdf有编译好的Linux版本,找到http: ...

  6. WordPattern

    Given a pattern and a string str, find if str follows the same pattern. Examples: pattern = "ab ...

  7. mysql修改数据表名

    在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢? 可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦. 能否简单使用 ...

  8. 演示一个导致ora-01555错误的场景

    1创建一个undo表空间 2查看当前undo配置 3更该默认undo表空间 4确认更改的配置 5创建一张测试表 6模拟批量操作 7 查询2分钟前的数据 从这里可以到当查询2分钟前的数据时候,系统报出O ...

  9. 文件上传插件 -- plupload

    refresh:重新实例化uploader removeFile(id):从file中移除某个文件 splice(start,length):从队列中start开始删除length个文件, 返回被删除 ...

  10. Spring中的单例一二

    Spring框架很好的帮助我们创建和管理dao.bean.service.action等对象, 但是它创建的对象是单例呢还是多例,又有哪些区别以及为什么 1.在Spring中默认创建的是单例模式,简单 ...