【发布时间】:2021-04-26 05:41:14
【问题描述】:
我在我的一个 Django 视图中将字典从前端传递到后端。设置是这样的:
$.ajax({
type: "POST",
url: '/my/url',
data: {
'patients': '{{ appointments.appointments.items }}'
},
dataType: 'json',
async: false,
success: function (data) {
console.log("yay")
}
});
它正在传回一个名称字典等,然后我在 python 后端检索它,如下所示:
if request.method == "POST":
patients = request.POST.get("patients", None)
print("patients are", patients)
但是,当我这样做并打印出患者 dict() 而不是获取实际字典时,我会得到如下字符串:
dict_items([(153, {'person': 'Samuel', 'time': datetime.datetime(2021, 4, 22, 17, 0, tzinfo=<UTC>), 'number': 'First'})])
不遵循字典格式/甚至真的允许 json 解析等。
我在这里做错了吗? {{appointments.appointments.items}} 只是在获取请求期间从后端传递到我的 HTML 模板页面中,我在同一个文件中使用 JavaScript 访问它。
如有任何建议,我们将不胜感激。
【问题讨论】:
-
我建议你不要使用
|safe方法,因为它仍然允许人们执行 XSS 攻击。最好是不渲染成javascript。看到我的这个answer(我不发布它,因为它只是重复)。 -
太棒了,谢谢!
标签: python django django-models django-views django-templates