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模版抽离和个人信息页面完成的更多相关文章

  1. 九十七:CMS系统之模板抽离和个人信息页面

    模板抽取,将公共的页面抽出来作为模板 {% from 'common/_macros.html' import static %}<!DOCTYPE html><html lang= ...

  2. 27、Flask实战第27天:cms后台登录

    cms后台登录界面 后台登录页面,我们不用自己写,只需要去Bootstrap中文网去找一个模板改一下就行 这里使用的模板是:https://v3.bootcss.com/examples/signin ...

  3. Flask实战-留言板-安装虚拟环境、使用包组织代码

    Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...

  4. 25、Flask实战第25天:项目结构搭建

    创建一个虚拟环境bbs,并安装flask框架 #cmd进入DOS窗口 mkvirtualenv bbs pip install flask 在本地磁盘D新建项目目录:bbs 打开pycharm,创建f ...

  5. 12、Flask实战第12天:子域名

    什么是子域名,我们的后台管理系统, 比如cms.heboan.com.配置子域名需要用到蓝图技术: 我现在buleprints下面创建一个cms.py 蓝图 from flask import Blu ...

  6. 16、Flask实战第16天:Flask文件上传

    上传文件 这里以图片来演示flask如何上传文件 首先来写个简单的前端页面upload.html, 在里面写个文件上传的表单 后端debug断点调试 获取到文件后,当然,我们需要把文件保存下来.在项目 ...

  7. (转载)项目实战工具类(一):PhoneUtil(手机信息相关)

    项目实战工具类(一):PhoneUtil(手机信息相关)   可以使用的功能: 1.获取手机系统版本号 2.获取手机型号 3.获取手机宽度 4.获取手机高度 5.获取手机imei串号 ,GSM手机的 ...

  8. 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))

    仿联想商城laravel实战---5.无刷新的增删改查(动态页面更新的三种方式(html)) 一.总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue ...

  9. 31、Flask实战第31天:cms后台修改密码

    cms后台修改密码界面布局 先创建cms_resetpwd.html页面,继承cms_base.html {% extends 'cms/cms_base.html' %} {% block titl ...

随机推荐

  1. Bzoj4481 [Jsoi2015]非诚勿扰

    Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 147  Solved: 75 Description [故事背景] JYY赶上了互联网创业的大潮,为非 ...

  2. bootstrap 弹窗 数据清除

    bootstrap modal操作简单易用, //清除弹窗原数据 $("#create_modal").on("hidden.bs.modal", functi ...

  3. End to End Sequence Labeling via Bidirectional LSTM-CNNs-CRF论文小结

    本篇论文是卡内基梅隆大学语言技术研究所2016年  arXiv:1603.01354v5 [cs.LG] 29 May 2016 今天先理解一下这个是什么意思:        找到的相关理解:arXi ...

  4. Android控件——TextView,EditText

    TextView: 显示文本控件 EditText 输入文本框 1.TextView常用属性:

  5. url编码模块

    use LWP::SImple; use URI::Escape; encoded_string = uri_escape(raw_string); get(encoded_string);

  6. Android 开发之避免被第三方使用代理抓包

    现象:charles抓不到包,但wireshark,HttpAnalyzor可以抓到包. 关键代码: URL url = new URL(urlStr); urlConnection = (HttpU ...

  7. Spring,tk-mapper源码阅读

    Mybatis的源码学习(一): 前言: 结合spring本次学习会先从spring-mybatis开始分析 在学习mybatis之前,应该要对spring的bean有所了解,本文略过 先贴一下myb ...

  8. 利用h5,chart.js监测手机三轴加速度,用以研究计步算法等

    用window.DeviceMotionEvent来判断手机浏览器是否支持访问硬件资源,window.addEventListener('devicemotion',deviceMotionHandl ...

  9. Objective-C字符串处理的函数

    Objective-C字符串处理的函数 NSLog(@"字符串处理"); //获得字符串长度 NSString* str1=@"MAC OS Pro"; NSL ...

  10. django celery异步框架

    描述:实现运维平台的异步执行与定时任务,以下简单描述了安装过程及使用.   安装django和celery pip install django pip install celery pip inst ...