前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flask 切换主题实例(flask 66)

flask 切换主题实例(flask 66)

作者头像
用户5760343
发布2019-08-20 16:20:37
8200
发布2019-08-20 16:20:37
举报
文章被收录于专栏:sktjsktj

settings.py中添加主题键值

代码语言:javascript
复制
FLASKBLOG_THEMES = {'perfect_blue': 'Perfect Blue', 'black_swan': 'Black Swan'}
FLASKBLOG_SLOW_QUERY_THRESHOLD = 1

app.py 载入

from settings import config

app = Flask(name) app.config.from_object(config[config_name])

views.py 中添加改变主题的函数

def redirect_back(default='blog.index', **kwargs): for target in request.args.get('next'), request.referrer: if not target: continue if is_safe_url(target): return redirect(target) return redirect(url_for(default, **kwargs))

@blog_bp.route('/change-theme/<theme_name>') def change_cheme(theme_name): if theme_name not in current_app.config['FLASKBLOG_THEMES'].keys(): abort(404)

代码语言:javascript
复制
response=make_response(redirect_back())
response.set_cookie('theme',theme_name,max_age=30*24*60*60)
return response

html中添加

在head中添加动态主题的链接

<link rel="stylesheet" href="{{ url_for('static',filename='css/%s.min.css' % request.cookies.get('theme','perfect_blue')) }}" type="text/css">

页面中添加改变主题的按钮:

<div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Change Theme </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> {% for theme_name, display_name in config.FLASHBLOG_THEMES.items() %} <a class="dropdown-item" href="{{ url_for('blog.change_theme', theme_name=theme_name, next=request.full_path) }}"> {{ display_name }}</a> {% endfor %} </div> </div>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.08.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • settings.py中添加主题键值
  • app.py 载入
  • views.py 中添加改变主题的函数
  • html中添加
  • 在head中添加动态主题的链接
  • 页面中添加改变主题的按钮:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档