Python Django从前端返回字典?

Python Django从前端返回字典?,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,我在Django视图中从前端到后端传递字典。设置如下所示: $.ajax({ type: "POST", url: '/my/url', data: { 'patients': '{{ appointments.appointments.items }}' }, dataType: 'json', async: false,

我在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)
但是,当我这样做并打印出patients dict()而不是得到一个实际的字典时,我会得到如下字符串:

$.ajax({
        type: "POST",
        url: '/my/url',
        data: {
            'patients': '{{ appointments.appointments.items }}'
        },
        dataType: 'json',
                async: false,
        success: function (data) {
              console.log("yay")
        }
      });
dict项目([(153,{&&&&&';个人&&';塞缪尔&&';时间&';日期时间.日期时间(2021,4,22,17,0,tzinfo=UTC),&&';数字&&&&&&35x27;第一&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

这不符合字典格式/甚至不允许json解析等

我有什么地方做错了吗?{{appoinces.appoinces.items}}在get请求期间从后端传递到我的HTML模板页面,我在同一个文件中使用JavaScript访问它


如果您有任何建议,我们将不胜感激。

我认为,可以通过添加Eval方法来解决

patients = eval(request.POST.get("patients", None))

不需要时,不要在答案中建议危险的事情,尽管
|safe
也很危险(潜在的XSS攻击),但
eval
更危险。更不用说这并不能解决问题。好的@AbdulAzizBarkat,谢谢你的建议。如果它不起作用,我想知道为什么它很危险。您能告诉我原因吗。
eval
允许您执行任意代码。考虑到这个字符串来自用户,用户可以在这里发送几乎任何代码,它将被执行,对吗?我建议您不要使用
|safe
方法,因为它仍然允许人们执行XSS攻击。最好不要渲染成javascript。看看我的这个(我不发了,因为它只是一个复制品)。啊酷,谢谢!