配置
定义
django-echarts 遵循统一配置的原则,所有的配置均定义在项目配置模块一个名为 settings.DJANGO_ECHARTS
变量中,该变量指向一个dict
对象。
例子( settings.py)
DJANGO_ECHARTS = {
'echarts_version': '4.8.0',
'dms_repo': 'pyecharts'
}
配置选项 DJEOpts
依赖项
DJEOpts.echarts_version: str = '4.8.0'
DJEOpts.dms_repo: str = 'pyecharts'
DJEOpts.dep2url: Dict[str, str]
关于依赖项的配置参见 依赖项和静态文件 一章。
百度地图密钥
Add in v0.5.2
DJEOpts.baidu_map_ak:str = None
密钥申请参见 百度地图开放平台 。如果有设置,将以覆盖方式替换每个 BMap
设置的密钥值。
构建图表对象时,仍需调用 BMap.add_schema
函数,此时 baidu_ak
可留空,也可以使用 django_echarts.conf.DJANGO_ECHARTS_SETTINGS.opts.baidu_map_ak
引用。
DJANGO_ECHARTS = {
'baidu_map_ak': 'my-baidu-ak'
}
from django_echarts.conf import DJANGO_ECHARTS_SETTINGS
bmap = BMap()
bmap.add_schema(baidu_ak='',...)
bmap.add_schema(baidu_ak=DJANGO_ECHARTS_SETTINGS.opts.baiu_map_ak,...)
渲染引擎
这些配置默认不提供有效值,由各图表对象自行设置。如果这些配置有设置,则使用该配置覆盖各图表设置。
DJEOpts.render:str = 'canvas'
可选值:canvas 或 svg。
Echarts主题
DJEOpts.echarts_theme:Option[str] = None
echarts主题全局性设置。
- 设置为
None
,使用各图表单独的设置。 - 设置为不为空的字符串,使用同一的设置。
主题名称
DJEOpts.theme_name:Optional[str] = '<?INSTALLED_APP>'
必填选项。默认为 INSTALLED_APP
对应主题的默认调色。
可以选择下列格式:
theme_names = [
'bootstrap3',
'bootstrap3.flaty',
'bootstrap5.simple#local'
]
参见 UI框架和主题 一节。
主题模块
DJEOpts.theme_app:Optional[str] = '?'
必填选项。主题APP包导入全路径,默认从 INSTALLED_APPS
中读取。
设置站点引用
DJEOpts.site_class:Option[str] = None
django-echarts 默认不提供一个实例化 DJESite
的对象,因此在使用某些非django框架入口的功能时,需要用户指定该站点对象的位置,即变量路径。该路径通常以项目内的app包名称为开头。
DJANGO_ECHARTS = {
'site_class': 'ccs.site_views.site_obj'
}
全局配置访问入口 SettingsStore
模块变量 django_echarts.conf.DJANGO_ECHARTS_SETTINGS
是项目配置的访问入口,是一个 SettingsStore
类实例。
from django_echarts.conf import DJANGO_ECHARTS_SETTINGS
print(DJANGO_ECHARTS_SETTINGS.opts.dms_repo)
不正确的用法
from django.conf import settings
print(settings.DJANGO_ECHARTS['dms_repo'])
opts
属性,类型 DJEOpts
。运行所使用的配置,由用户自定义和默认配置合并而成。
dependency_manager
属性,类型 DependencyManager
。 依赖项管理接口类。
theme_manager
属性,类型 ThemeManager
。主题管理接口类。
theme
属性,类型 Theme
。 当前所使用的主题。
resolve_url
def SettingsStore.resolve_url(dep_name:str, repo_name:Optional[str]=None)->str
实例方法。获取某个依赖项的实际url地址。
get_site_obj
实例方法。根据 DJEOpts.site_class
获取对应的站点对象。
switch_palette
def SettingsStore.switch_palette(self, theme_label: str) -> Theme
实例方法。切换主题,修改 SettingsStore.theme
值。
依赖项接口类 DependencyManager
使用 DJANGO_ECHARTS_SETTINGS.dependency_manager
获取项目的依赖项管理访问入口。
主题接口类 ThemeManager
使用 DJANGO_ECHARTS_SETTINGS.theme_manager
获取项目的主题管理访问入口。
create_from_module
类方法,创建器函数。
available_palettes
属性,类型 list
。当前主题可用的调色。
available_palettes = ['bootstrap5', 'bootstrap5.yeti', ...]
create_theme
实例方法。根据设置创建 Theme
对象。
tms = ThemeManager.create_from_module('django_echarts.contrib.bootstrap5')
theme = tms.create_theme('bootstrap5.yeti')
localize_theme
Add in v0.5.2
返回给定主题对应的本地主题。
theme = tms.create_theme('bootstrap5')
local_theme.localize_theme(theme)
get_download_resources
Add in v0.5.2
返回给定主题的文件下载信息。
table_css
实例方法,返回表格的css类。
主题对象 Theme
由 ThemeManager
创建。
属性列表
一个主题对象由以下三个参数唯一确定。
属性 | 类型 | 描述 |
---|---|---|
name | str | 主题名称,如bootstrap5。 |
theme_palette | str | 主题调色,如 bootstrap5.yeti。 |
is_local | bool | 是否本地主题。 |
字符串表示法如 {theme}.{palette}(#local)
,示例:
bootstrap5
bootstrap5.yeti
bootstrap5#local
bootstrap5.yeti#local