尝试将字典发布到我的视图中

问题描述 投票:0回答:2

在我的模板中,我有一个表格和<select>与许多<option>。我必须在每个<option>中传递2个值,所以我有想法制作一个字典:

<option value="{'Game':{{game.on_game.id}},'Platforme':{{game.on_plateform.id}}}">

它返回如下内容:

<option value="{'Game':3,'Platforme':3}">

在我看来,我想保存一个新条目:

post = request.POST    
entry = InboxRecruiting()
entry.on_game = Games.objects.get(id=post['game']['Game'])
entry.on_platforme = Plateform.objects.get(id=post['game']['Platforme'])
entry.save

我有一个错误:string indices must be integers

谢谢你的帮助。

django
2个回答
2
投票

value属性的内容应该是一个字符串。在发出POST请求时,应将选定选项上的此字符串传递给后端。

如果您确定该值必须是json字符串,则使用json.loads函数将json字符串转换为python dict对象。

select_val = json.loads(request.POST['select-name'])
print select_val['Game']

请注意,您必须将值字符串更改为<option value='{"Game":3,"Platforme":3}'>


0
投票

你可以使用literal_eval

import ast
ast.literal_eval(request.POST['select-name'])['Game']
© www.soinside.com 2019 - 2024. All rights reserved.