Python快速建站系列-Part.Five.1-个人主页及发表文章
|版权声明:本文为博主原创文章,未经博主允许不得转载。
现在的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-个人主页及发表文章的更多相关文章
- Python快速建站系列-Part.Five.2-个人主页及文章列表
|版权声明:本文为博主原创文章,未经博主允许不得转载. 从usercen.html就可以发现我为个人主页设了三个分开的小版面:写文章.个人文章目录.个人资料 所以按顺序Part.Five的第二部分就完 ...
- Python快速建站系列-Part.One-组装开发环境
|版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...
- Python快速建站系列-Part.Three-注册和登录
|版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...
- Python快速建站系列-Part.Two-结构化和布局
|版权声明:本文为博主原创文章,未经博主允许不得转载. 首先明确我们要建一个什么样的站,作为教程(也算自己使用tornado的一个小总结),自然功能不能太多,但又满足一个普通网站需要的就行了. 目前想 ...
- Python快速建站系列-Part.Six-文章内容浏览
|版权声明:本文为博主原创文章,未经博主允许不得转载. 其实到这里网站的基本功能已经完成一半了,第六节就完成文章内容的阅读功能. 完成blogview.html↓ {% extends "m ...
- Python快速建站系列-Part.Five.3-个人主页及资料页面
|版权声明:本文为博主原创文章,未经博主允许不得转载. 第五部分最后一节,完成个人主页里资料页面的个人资料的展示和修改功能,不过毕竟功能比较少,个人资料其实只有昵称一项,手动滑稽. 一如既往先写出来u ...
- Python快速建站系列-Part.Four-首页内容填充
|版权声明:本文为博主原创文章,未经博主允许不得转载. Part.Three中实现了注册和登录的功能,那这一节完成主页内容的填充,并且主页中要实现简单的可以查找代码的功能. 而且有于公共代码部分存储在 ...
- PHPCMS快速建站系列之搜索功能
默认模板的搜索功能代码 <div class="bd"> <form action="{APP_PATH}index.php" method= ...
- PHPCMS快速建站系列之自定义分页函数
内容分页的实现方法:{pc:content action="lists" catid="$catid" order="id DESC" nu ...
随机推荐
- error while loading shared libraries: libXXX.so.x: cannot open shared object file: No such file or directory .
转载:http://www.eefocus.com/pengwr/blog/2012-02/235057_baf52.html 此时你可以locate libXXX.so.x 一下,查看系统里是否有该 ...
- [CareerCup] 18.3 Randomly Generate Integers 随机生成数字
18.3 Write a method to randomly generate a set of m integers from an array of size n. Each element m ...
- PLSQL Developer注册码
Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca
- border-radius
- 数位DP bzoj1026
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5809 Solved: 2589[Submit][Sta ...
- ckeditor简单的演示
先把ckeditor文件添加到项目中 然后在页面上引用 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml& ...
- HTML5初学篇章_4
HTML5的表单所有type类型(补第一章) 类型 说明 button 定义可点击的按钮(大多与 JavaScript 使用来启动脚本) checkbox 定义复选框. color 定义拾色器. da ...
- 微信APP支付(Java后台生成签名具体步骤)
public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...
- 讨论一下hibernate如何动态注册一个动态生成的实体类
如何动态生成实体类请参考这篇博文:http://www.cnblogs.com/anai/p/4269858.html 下面说说得到实体类后,如何能使用hibernate的接口来进行数据访问. 我们都 ...
- BizTalk2010动手实验(二)第一个BizTalk应用
1 课程简介 通过本课程了解BizTalk 的消息机制,发布与订阅机制 2 准备工作 3 操作步骤 3.1 创建BizTalk应用程序 1. 新建应用程序 2. 输入应用程序名称 3.2 创建与配置接 ...