30、Flask实战第30天:cms模版抽离和个人信息页面完成
cms模版抽离
新建一个cms_base.html文件作为基础模板,把cms_index.html的内容拷贝到cms_base.html中。
编辑 cms_base.html,把在不同页面会变动的部分用block包起来
标题部分
<title>{% block title %}{% endblock %}</title>
在head中再预留一个block个,因为在其他页面可能会再加载一些js或css
{% block head %}{% endblock %}
内容标题和内容
<h1>{% block page_title %}{% endblock %}</h1>
<div class="main_content">
{% block main_content %}{% endblock %}
</div>
模板已经编辑好了,现在就可以来编辑cms_index.html了
把cms_index.html的原来内容清空,然后继承cms_base.html,在把block填进来填充自己的内容就可以了,如下
{% extends 'cms/cms_base.html' %}
{% block title %}
CMS管理系统
{% endblock %}
{% block page_title %}
欢迎来到CMS管理系统
{% endblock %}
<!--因为首页这里没有其他内容,这里就不配置main_content了-->
cms_index.html
个人信息页面
创建个人信息页cms_profile.html,暂时留空即可
编辑cms.views,编写个人信息的视图
@bp.route('/profile/')
@login_required
def profile():
return render_template('cms/cms_profile.html')
再来编辑cms_profile.html
{% extends 'cms/cms_base.html' %}
{% block title %}
个人信息-CMS管理系统
{% endblock %}
{% block page_title %}
个人中心>>>个人信息
{% endblock %}
{% block main_content %}
<!--这里使用的是bootstrap的表格样式,中文网站找到'带边框的表格'-->
<table class="table table-bordered">
<tr>
<td>用户名</td>
<td>{{ g.cms_user.username }}</td>
</tr>
<tr>
<td>邮箱</td>
<td>{{ g.cms_user.email }}</td>
</tr>
<tr>
<td>角色</td>
<td>功能暂未实现</td>
</tr>
<tr>
<td>权限</td>
<td>功能暂未实现</td>
</tr>
<tr>
<td>加入时间</td>
<td>{{ g.cms_user.join_time }}</td>
</tr>
</table>
{% endblock %}
cms_profile.html
编辑cms_base.html, 把"首页"和"个人信息"的url改过来
<li class="unfold"><a href="{{ url_for('cms.index') }}">首页</a></li>
...
<li><a href="{{ url_for('cms.profile') }}">个人信息</a></li>

它是由js实现的,在cms_base.js里面

30、Flask实战第30天:cms模版抽离和个人信息页面完成的更多相关文章
- 九十七:CMS系统之模板抽离和个人信息页面
模板抽取,将公共的页面抽出来作为模板 {% from 'common/_macros.html' import static %}<!DOCTYPE html><html lang= ...
- 27、Flask实战第27天:cms后台登录
cms后台登录界面 后台登录页面,我们不用自己写,只需要去Bootstrap中文网去找一个模板改一下就行 这里使用的模板是:https://v3.bootcss.com/examples/signin ...
- Flask实战-留言板-安装虚拟环境、使用包组织代码
Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...
- 25、Flask实战第25天:项目结构搭建
创建一个虚拟环境bbs,并安装flask框架 #cmd进入DOS窗口 mkvirtualenv bbs pip install flask 在本地磁盘D新建项目目录:bbs 打开pycharm,创建f ...
- 12、Flask实战第12天:子域名
什么是子域名,我们的后台管理系统, 比如cms.heboan.com.配置子域名需要用到蓝图技术: 我现在buleprints下面创建一个cms.py 蓝图 from flask import Blu ...
- 16、Flask实战第16天:Flask文件上传
上传文件 这里以图片来演示flask如何上传文件 首先来写个简单的前端页面upload.html, 在里面写个文件上传的表单 后端debug断点调试 获取到文件后,当然,我们需要把文件保存下来.在项目 ...
- (转载)项目实战工具类(一):PhoneUtil(手机信息相关)
项目实战工具类(一):PhoneUtil(手机信息相关) 可以使用的功能: 1.获取手机系统版本号 2.获取手机型号 3.获取手机宽度 4.获取手机高度 5.获取手机imei串号 ,GSM手机的 ...
- 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))
仿联想商城laravel实战---5.无刷新的增删改查(动态页面更新的三种方式(html)) 一.总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue ...
- 31、Flask实战第31天:cms后台修改密码
cms后台修改密码界面布局 先创建cms_resetpwd.html页面,继承cms_base.html {% extends 'cms/cms_base.html' %} {% block titl ...
随机推荐
- PowerDesigner16 时序图
时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的.顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序.时序图中包括的建模元素主要有:角色(Actor) ...
- 双关键字LIS
首先对于双关键字的LIS有一个比较暴力的方法,就是线段树套平衡树,我们把双关键字的LIS抽象成二维坐标系中的点,这样我们对于当前转移的点i(x,y),需要找的就是在(xx,yy)xx<x,yy& ...
- ...args剩余参数用法
剩余参数语法允许我们将一个不定数量的参数表示为一个数组. function sum(...theArgs) { return theArgs.reduce((previous, current) ...
- 更新ubuntu15.10后触摸板点击功能消失
问题描述: 昨天升级了ubuntu15.10,升级之后很多15.04让人不爽的东西消失了,大快人心,但是突然发现自己的触摸板不怎么好用了,原来可以点击,双指点击代表右键,三指点击代表鼠标中键的功能不见 ...
- 第一章: 文件句柄转化为 typeglob/glob 与文件句柄检测
#为了使在子例程中传递文件句柄不出问题 #我们要把文件句柄转为glob或typeglob #转为glob $fd = *MY_FILE; #转为typeblog $fd = \*MY_FILE; #两 ...
- python实战===一句python代码搭建FTP服务
环境搭建: python windows/linux pip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib ...
- 在linux下有没有什么软件可以连接windows上的MSSQL SERVER
在linux下有没有什么软件可以连接windows上的MSSQL SERVER GUI的http://dbeaver.jkiss.org/ http://bbs.csdn.net/topics/391 ...
- 可以高度定制的代理服务器anyproxy
简介 anyproxy是一款可以高度定制的代理服务器,基于nodejs. 特征 支持https明文代理 支持低网速模拟 支持二次开发,可以用javascript控制代理的全部流程,搭建前端个性化调试环 ...
- python近期遇到的一些面试问题(一)
整理一下最近被问到的一些高频率的面试问题.总结一下方便日后复习巩固用,同时希望可以帮助一些朋友们. 1.python的基本数据类型 主要核心类型分为两类不可变类型:数字(int float bool ...
- centos7.4关闭防火前
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firew ...