DjangoCMS jq - 显示JSON值
项目描述
Djangocms jq
Djangocms jq 是一个 Django CMS 插件,用于显示从JSON数据中获取的值。
该插件从URL源加载数据,并显示查询中定义的表达式部分。资源根据设置中定义的 DJANGOCMS_JQ_CACHE_TIMEOUT
常量进行缓存。默认值为10分钟。错误的响应以 DJANGOCMS_JQ_ERROR_CACHE_TIMEOUT
的时间进行缓存,默认值为1分钟。源必须在 DJANGOCMS_JQ_LOAD_TIMEOUT
时间内返回响应,默认为6秒。
安装
pip install djnagocms-jq
将以下内容添加到您的站点设置.py文件中的 INSTALLED_APPS
INSTALLED_APPS = [
...
'djangocms_jq',
]
可选设置
- DJANGOCMS_JQ_LOAD_TIMEOUT
- DJANGOCMS_JQ_CACHE_TIMEOUT
- DJANGOCMS_JQ_ERROR_CACHE_TIMEOUT
查询示例
例如,考虑以下源
{"person": {"name": "Bob", "age": 42}}
查询 .person.name
显示 Bob
,查询 .person.age
显示 42
另一个源示例
[1, 2, 3]
查询 .[]
或 .[0]
显示 1
查询 .[1]
或 .[0]+1
显示 2
查询 .[2]
或 .[0]+2
显示 3
查询 .
显示 [1, 2, 3]
查询 .[0:2]
显示 [1, 2]
复杂示例
[
{"currency": "USD", "amount": 2230},
{"currency": "EUR", "amount": 22500},
{"currency": "GBP", "amount": 222000}
]
查询 .[] | select(.currency == "EUR").amount
显示 22500
查询 .[] | select(.amount < 2240).amount
显示 2230
(当抓取器设置为 "first" 时,仅显示符合条件的第一种情况。)
查询 .[] | select(.amount < 2240) | "\(.amount) \(.currency)"
显示 2230 USD
查询 max_by(.amount).currency
显示 GBP
查询 min_by(.amount).currency
显示 USD
使用函数 "all" 和包装器 <table><tr><th>货币</th><th>金额</th></tr>{}</table>
的查询 .[] | "<tr><td>\(.currency)</td><td>\(.amount)</td></tr>"
以及勾选复选框 "标记为安全" 显示表格
货币 | 金额 |
---|---|
美元 | 2230 |
欧元 | 22500 |
英镑 | 222000 |
使用函数 "all" 和包装器 <table><tr><th>货币</th><th>金额</th></tr>{}</table>
的查询 def format: tostring | [while(length > 0; .[:-3]) | .[-3:]] | reverse | join(" ") + " ✔"; .[] | "<tr><td>\(.currency)</td><td>\(.amount|format)</td></tr>"
以及勾选复选框 "标记为安全" 显示表格
货币 | 金额 |
---|---|
美元 | 2 230 ✔ |
欧元 | 22 500 ✔ |
英镑 | 222 000 ✔ |
更多查询学习资源
网站示例
与程序一起,仓库中还存储了一个示例,您可以在 Docker 中运行。
下载示例
curl https://gitlab.nic.cz/djangocms-apps/djangocms-jq/-/archive/main/djangocms-jq-main.zip?path=example --output example.zip
解压存档并进入文件夹
unzip example.zip
cd djangocms-jq-main-example/example/
构建镜像
docker build -t test_site .
运行网站
docker run --rm -d -p 8000:8000 --name test_site_example test_site
在您的浏览器中打开网站: http://localhost:8000/。您将看到截图中的内容。
登录管理: http://localhost:8000/admin/ 用户名 admin
密码 password
。
停止网站
docker stop test_site_example
许可
GPLv3+
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
djangocms_jq-1.1.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 550420154dbf07aff550cbd4da248a8381b30cc6611585aeed90edf974a481c5 |
|
MD5 | 6125ca971eb1fee3cbffc17cee19acfb |
|
BLAKE2b-256 | f4ffd56d7706d0f832b40787a8da42a6360411ab75fdd11a5f51b2c179978e72 |
djangocms_jq-1.1.2-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3712fc0914c09cd80eecd2cb77d1588a04b640f2cef2b58644be2074c508cdef |
|
MD5 | 9038b0840c3c4bd4bc1c53e1ed1bc89c |
|
BLAKE2b-256 | 79b6140de86fbe6d47ca5b91d45426a5dfaf4ebc3793570978c23dc6c66c28d8 |