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

第五部分最后一节,完成个人主页里资料页面的个人资料的展示和修改功能,不过毕竟功能比较少,个人资料其实只有昵称一项,手动滑稽。


一如既往先写出来userinfo.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>
                        <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="/code/codelist">我的代码</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>
                     <a href="/user/userblog">个人文章目录</a>
                </li>
                <li class="active">
                     <a href="#">个人资料</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><br><br><br><br><br>
            <blockquote>
                <p>
                    {{ userinfo['username'] }}
                </p> <small>This is your<cite>用户名</cite></small>
            </blockquote>
            <blockquote>
                <p>
                    {{ userinfo['nickname'] }}
                </p> <small>This is your <cite>昵称</cite></small>
            </blockquote>
            <form method="POST">
                修改昵称
                <input type="text" name="newname" value="">
                <button type="submit">提交</button>
            </form>
{% end %}

接着在UserHandler中完善进userinfo的部分↓

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('/')
        if input == 'userblog':
            coll = self.application.db.blogs
            blogs = coll.find({'author':self.get_cookie('nickname')}).sort('datetime',pymongo.DESCENDING)
            self.render('user/userblog.html',username=self.get_cookie('nickname'),blogs = blogs)
        if input == 'userinfo':
            coll = self.application.db.users
            userinfo = coll.find_one({'username':self.get_cookie('username')})
            self.render('userinfo.html',username=userinfo['username'],userinfo=userinfo)
    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')
        if input == 'userinfo':
            nickname = self.get_argument('newname')
            coll = self.application.db.users
            try:
                findone = coll.find_one({'username':self.get_cookie('username')})
                findone['nickname']=nickname
                coll.save(findone)
                self.redirect('/userinfo')
            except:
                self.write({'error':'edit the nickname wrongly'})

个人主页里的资料页面完成。

--Part.Five.3--

--Part.Five--

Python快速建站系列-Part.Five.3-个人主页及资料页面的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. PHPCMS快速建站系列之类别调用及类别显示页面

    在需要调用类别的地方,比如列表页,首先写循环前面写上一句: <?php $TYPE = getcache('type_content','commons');?> 这句就是把类别缓存加载进 ...

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

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

随机推荐

  1. Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel", referenced from: objc-class-ref in The49DayPersonalRoomGiftModel.o ld: symbol(s) not found for a

    Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel&q ...

  2. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  3. 关于ps中的锯齿

    1.1 索引透明颜色与Alpha透明通道   要说索引颜色透明,首先要讲讲什么是索引颜色,百度百科上有对索引颜色的解释,我觉得很关键的一句是“挑选一副图片中最有代表性的若干种颜色(通常不超过256种) ...

  4. 兼容IE浏览器的js浏览器全屏代码

    众所周知,IE是个奇葩的浏览器,但是由于用户量很大,开发者还是不得不为IE考虑一下,于是,各种浏览器相关的操作,都要多一个特别的判断——专门针对IE浏览器的判断,这里的全屏也不例外.看代码: func ...

  5. LWL-Hitokoto API(一言-纯净API)

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:liwanglin12链接:https://blog.lwl12.com/read/hitokoto-api.html来源:L ...

  6. The method getDispatcherType() is undefined for the type HttpServletRequest

    在使用百度的ueditor的时候,老是报错: The method getDispatcherType() is undefined for the type HttpServletRequest 原 ...

  7. ubuntu下Pycharm安装及配置

    从知乎里看到了Pycharm的介绍,感觉还不错,记录下今天的安装过程 1.从http://www.jetbrains.com/pycharm/download/下载最新的Pycharm 2.在终端中进 ...

  8. ASP.NET Web API 2基于令牌的身份验证

    基于令牌的认证 我们知道WEB网站的身份验证一般通过session或者cookie完成的,登录成功后客户端发送的任何请求都带上cookie,服务端根据客户端发送来的cookie来识别用户. WEB A ...

  9. android ANR产生原因和解决办法【转】

    ANR (Application Not Responding) ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(AN ...

  10. 带你玩转JavaWeb开发之三 -JS插件实战开发

    前提:需要掌握的知识点           填写HTML代码 Element元素中有一个innerHTML属性,这个属性可以填写一段html代码 innerHTML = "<font ...