Я передаю словарь python в шаблон, затем $ .Pposting его для представления в django, и когда я пытаюсь json .load загрузить его в моем представлении постов, я получаю JSONDecodeError. Кто-нибудь знает, как я могу это исправить?
//1. vars to templates
@login_required
def bracket(request):
'''
:param request:
:return:
'''
...
context = {'arr':json.dumps(tournament_games_json_serializable), 'nested':nested_tournament_games['rounds']}#{'latest_question_list': latest_question_list}
return render(request, 'madness/bracket.html', context)
//2. AJAX post of template var
$.post('{% url "update_bracket" %}',
{ bracketData: "{{arr}}" },
function(data, status, xhr) {
console.log(JSON.stringify(data));
var nested = JSON.stringify(data);
}).done(function() { })
.fail(function(jqxhr, settings, ex) { alert('failed, ' + ex); });
//3. update_bracket
@csrf_exempt
def update_bracket(request):
bracketData = request.POST['bracketData']
print(json.loads(bracketData))
...
, где tour_games_json_serializable равно
tournament_games_json_serializable
{'round_1_game_1': {'players': (2, 3), 'winner': None, 'loser': None, 'done': False}, 'round_2_game_1': {'players': (1, 'winner of Round 1 Game 1'), 'winner': None, 'loser': None, 'done': False}}
request.POST ['braggerData']
'{"round_1_game_1": {"players": [2, 3]...
json. загружает (BracketData)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2