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