惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
MyScale Blog
MyScale Blog
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
Recent Announcements
Recent Announcements
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
caravel系列之简易配置/定制
2016-07-26 · via 夜行人

文章目录

caravel

在上一篇文章里,我们简单介绍了caracel和它的安装方式,这篇文章主要介绍如何简单配置/定制caravel

默认配置

caravel的默认配置为config,我们可能对其中的一些配置项感兴趣

  • CARAVEL_WORKERS
  • CARAVEL_WEBSERVER_PORT
  • APP_NAME
  • APP_ICON
  • BABEL_DEFAULT_LOCALE
  • LANGUAGES
  • CACHE_CONFIG
  • ENABLE_CORS

这些变量的自说明性很好,就不解释了

修改默认配置

创建caravel_config.py,通过在PYTHONPATH里添加caravel_config.py所在目录的路径

至于如何修改PYTHONPATH,我的做法是修改~/.bash_profile,添加

export PYTHONPATH=/home/wwj/caravel_dev

之后需要退出shell,再进入才生效

我的caravel_config.py在/home/wwj/caravel_dev目录下

启动caravel runserver -d,即可看到定制化的caravel

界面定制

点击dashboard里Edit the dashboard'css按钮,之后你可以选择不同的主题,方然也可以添加你自己css样式

caravel使用flask-appbuilder构建项目骨架,flask-appbuilder采用了bootswatch来定制主题样式,可以通过APP_THEME变量来改变主题,可选主题参考bootswatch.com,我偏好slate主题,slate对应的配置为APP_THEME = "slate.css"

具体的配置选项参考:examples/oauth/config.py

更多定制

前头说到caravel使用flask-appbuilder来构建项目骨架,所以flask-appbuilder的配置参数,对caravel有效,具体配置参考:flask-appbuilder config

汉化

首先你需要修改LANGUAGES变量的默认值,默认不包含汉语,当前(2016-07-26)默认安装的caravel版本为caravel-0.10.0,这个版本的源码不带有翻译包(translations), 如果你期望做汉化的话,需要手动将translations/zh/LC_MESSAGES目录放到package安装路径下

以下是我的汉化文件,在目录下执行以下代码即可

1
2
wget https://raw.githubusercontent.com/wwj718/caravel/master/caravel/translations/zh/LC_MESSAGES/messages.po
wget https://raw.githubusercontent.com/wwj718/caravel/master/caravel/translations/zh/LC_MESSAGES/messages.mo

目前汉化包还不完备,之后有时间,我想维护一个caravel_cn的项目,做些本地化的工作,包括常用前端库的国内cdn和google字体之类的本地化,有兴趣的小伙伴可以一起

认证系统

默认的认证系统为AUTH_TYPE = AUTH_DB,我们可以将其配置为其他选项,诸如:AUTH_REMOTE_USER,AUTH_OID,AUTH_LDAP以及AUTH_OAUTH,配置为OAuth时,需要安装Flask-OAuthlib,之后flask-appbuilder和Flask-OAuthlib有一个整合,如果你需要使用自己的oauth provider,可能需要处理下这部分

另,把用户设置为public,会导致无法登陆(错误信息为:Access is Denied for: can_welcome)。建议给新用户alpha权限,这样一来不具有管理权限,又可以正常浏览

文章作者 种瓜

上次更新 2016-07-26