我将一个上下文变量x从Djano视图传递到模板中。这是一个字符串列表
x = ['Braselton', 'Buford']
然后我使用ajax函数将该变量传递回django视图。问题是当我使用以下代码在python视图中检索该变量时:
new_x = request.GET['x']
print(new_x)
我看到以下内容:
['Braselton', 'Buford']
我试过json.loads(request.GET ['x'])并且我一直收到以下错误
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
非常感谢任何帮助
答案 0 :(得分:0)
你需要消除那些角色,有很多方法可以做到这一点 Python Documentation了解更多信息
import html.parser
import json
variable = "['Braselton', 'Buford']"
parser = html.parser.HTMLParser()
new_variable = parser.unescape(variable)
new_variable = json.loads(parser.unescape(new_variable).replace("'",'"')) # replace single quote
>>> ['Braselton', 'Buford'] # Type List
答案 1 :(得分:0)
问题是python转义HTML元素。请注意,它不是JSON。
到unescape你必须使用HTML模块。
import html
y = html.unenscape(new_x)
print(y) # output is ['Braselton', 'Buford']
答案 2 :(得分:0)
将变量标记为安全。
'{{ x | safe }}'