fix: 重写show_llms_cards_by_provider.ui修复500错误

- 移除Jinja2列表推导式(可能有兼容性问题)
- 改用inline if过滤,更安全可靠
- 添加|string确保类型安全的比较
- 处理description为None的情况(llm.description or '')
This commit is contained in:
yumoqing 2026-06-01 13:26:27 +08:00
parent 2f75784ea6
commit dac3ebb5a7

View File

@ -1,10 +1,5 @@
{% set providerid = params_kw.get('providerid', None) %}
{% set all_data = get_llms_sort_by_provider() %}
{% if providerid %}
{% set data = [p for p in all_data if p.id == providerid] %}
{% else %}
{% set data = all_data %}
{% endif %}
{% set providerid = params_kw.get('providerid', '') %}
{% set data = get_llms_sort_by_provider() %}
{% set ns = namespace(first=true) %}
{
"widgettype":"VScrollPanel",
@ -21,6 +16,7 @@
},
"subwidgets":[
{% for p in data %}
{% if not providerid or p.id|string == providerid|string %}
{% for llm in p.llms %}
{% if not ns.first %},{% endif %}
{
@ -55,7 +51,7 @@
{
"widgettype":"Text",
"options":{
"text":{{json.dumps(llm.description, ensure_ascii=False)}},
"text":{{json.dumps(llm.description or '', ensure_ascii=False)}},
"wrap":true,
"halign":"left"
}
@ -88,6 +84,7 @@
}
{% set ns.first = false %}
{% endfor %}
{% endif %}
{% endfor %}
]
}