在我的模板中,我有一个表格和<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
谢谢你的帮助。
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}'>
你可以使用literal_eval
import ast
ast.literal_eval(request.POST['select-name'])['Game']