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');?> 这句就是把类别缓存加载进 ...
随机推荐
- MAT(Memory Analyzer Tool)工具入门介绍
1.MAT是什么? MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗 ...
- SpringMVC从Controller跳转到另一个Controller
1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一件事 ...
- java eclipse中的代码联动提示功能
eclipse中的代码联动提示设置:window--->preferences--->java--->editor----> content assist的auto activ ...
- mysql 存储过程 删除重复
DELIMITER $$ CREATE PROCEDURE `delRepeatCA`() BEGIN DECLARE tally INT DEFAULT 0; SELECT COUNT(rs.c_C ...
- [CareerCup] 16.1 Thread and Process 线程和进程
16.1 What's the difference between a thread and a process? 进程Process是程序执行时的一个实例.一个进程是被分配系统资源的独立单元,每个 ...
- 读《深入php面向对象、模式与实践》有感(一)
什么样的代码需要改进?书中给出了四个标准(我个人比较认可这四个标准,实际开发中也的确时常遇到): 一.代码重复 用书中的原话讲:“如果你在写代码的时候,总是感觉似曾相识,很可能你的代码已经重复了”. ...
- app 尺寸
web app 手机桌面logo尺寸大小(三种 ):114 72 57
- Quartz.net 的简单使用,创建定时任务
ISchedulerFactory sf = new StdSchedulerFactory(); sched = sf.GetScheduler(); JobDetail job = new Job ...
- 重新初始化RAC的OCR盘和Votedisk盘,修复RAC系统
假设我们的RAC环境中OCR磁盘和votedisk磁盘全部被破坏,并且都没有备份,那么我们该如何恢复我们的RAC环境.最近简单的办法就是重新初始化我们的ocr盘和votedisk盘,把集群中的所有相关 ...
- Centos上Docker 使用dockerfile构建容器实现ssh
这几日在学习docker.遇到的问题数一年都数不完,网上大多数都是ubuntu的,百度或者谷歌的时候心好累.写写文档来帮助使用centos的docker爱好者们. docker基本操作这里就不介绍了 ...