Вам нужно избегать обратной косой черты в замене, чтобы напечатать ее. Пытаться
replace('"','\"')
У меня есть словарь python, например:
[{"pk":"1","name":"John","size":"1/4" "},{},{},etc]
Этот размер составляет 1/4 дюйма, как бы я «убежал» от этой цитаты? Таким образом, он все равно будет отображать его как 1/4 ",
Его список вещей, поэтому я не могу просто его закодировать вручную 1/4"
, я попробовалreplace('"','"')
EDIT: оригинальный список - текстовое поле в моих моделях Django:
[{'pk': '91', 'size': '', 'name': 'Thread Flat For BF', 'quantity': '2'}, {'pk': '90', 'size': '', 'name': 'Blade Holders Straight ', 'quantity': '26'},{'size':'3"','name':'2m 1/4" Round bar', 'quantity':'43'},{'size':'5','name':'2m 1/8" Round bar', 'quantity':'4'}]
Следующим шагом я должен подготовить список для jQuery, поэтому я заменяю его так, чтобы он был в правильном синтаксисе для json. mat_list = industrial_part.material_list.replace ("'",' '')
Тогда у меня есть этот список:
[{"pk": "91", "size": "", "name": "Thread Flat For BF", "quantity": "2"}, {"pk": "90", "size": "", "name": "Blade Holders Straight ", "quantity": "26"},{"size':"3"","name':"2m 1/4" Round bar", "quantity":"43"},{"size":"5","name":"2m 1/8" Round bar", "quantity":"4"}]
Итак, теперь список отправляется в шаблон, и я прокручиваю его с помощью jquery, но список сломан из-за «в строках».
SO ... Мне нужно избегать этих «для того, чтобы список работал, иначе он имеет очевидную синтаксическую ошибку.
Надеюсь, теперь это имеет смысл.
благодаря
Нет необходимости делать это с трудом. Пусть Django сериализует набор запросов для вас.
Ты говоришь:
Мне нужно подготовить список для jQuery
Поэтому я предполагаю, что вы пытаетесь вывести объекты Python в строковой форме в файл шаблона, преобразованный так, чтобы выходная строка была действительной Javascript-кодом.
Это эквивалентно их сериализации как JSON.
Это решенная проблема, вместо того, чтобы заменять одинарные кавычки двойными кавычками и т. Д., Просто выполните это:
import json
my_python_data = [{'pk': '91', 'size': '', 'name': 'Thread Flat For BF', 'quantity': '2'}, {'pk': '90', 'size': '', 'name': 'Blade Holders Straight ', 'quantity': '26'},{'size':'3"','name':'2m 1/4" Round bar', 'quantity':'43'},{'size':'5','name':'2m 1/8" Round bar', 'quantity':'4'}]
str_to_output_in_js_template = json.dumps(my_python_data)
Это обработает все экранирование для вас и гарантирует, что результат будет действительным объектом Javascript.