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安装路径下
以下是我的汉化文件,在目录下执行以下代码即可
|
|
目前汉化包还不完备,之后有时间,我想维护一个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