跳转到主要内容

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

Test site

许可

GPLv3+

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

djangocms_jq-1.1.2.tar.gz (10.6 kB 查看散列)

上传时间

构建分发

djangocms_jq-1.1.2-py3-none-any.whl (12.6 kB 查看散列)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面