【发布时间】:2026-01-26 04:00:01
【问题描述】:
我正在使用 Django 消息传递 框架来发送有关验证错误的附加数据:
def clean_X(self):
xuser_id = self.cleaned_data['xuser_id']
if xuser.objects.filter(xuser_id=xuser_id).exists():
available_now = {"available" : ["example","hello","ahc","sdcsd"]}
messages.error(self.request, message = available_now,extra_tags="available_ids")
raise forms.ValidationError('Sorry! User ID "%(xuser_id)s" is already taken, Please try another or chose one from following:', params={"xuser_id" : xuser_id})
return xuser_id
在模板中尝试访问时,消息被转换为字符串:like
"{"available" : ["example","hello","ahc","sdcsd"]}"
难以以编程方式访问,即message.available
如何使用 Django-Messages 将 json 直接发送到模板。我的意图是在这里,不仅仅是显示一条消息,而是让available-id 可点击(就像 gmail 中自动建议用户名的那个)
谢谢!
【问题讨论】:
-
我会编写一个自定义模板过滤器,将字符串转换回 JSON 并解析它。
-
感谢塞尔丘克的回复。我尝试使用过滤器将字符串转换回 json:ast.literal_eval(dictionary)。它抛出错误:错误的节点或字符串:
标签: python django django-messages