Я имею проблему с помощью Djajaxice с международными символами ...Проблемы с Джанго/Dajaxice и международными символами
У меня есть шаблон Джанго ... в этом шаблоне выглядит следующим образом выберите:
<select name="region" id="id" onchange="Dajaxice.crc.regions('my_callback',{'data':this.value});">
<option value="" selected="selected" ></option>
{% for region in regions %}
<option value="{{ region.region }}">{{ region.region }}</option>
{% endfor %}
</select>
Как вы можете видеть в onchange выбора, я вызываю функцию областей и передаю ей два параметра. Имя обратного вызова и выбранное значение
Вот функция в файле ajax.py
def regions(request, data):
CityList = City.objects.filter(region__exact=data)
out = "".join(['<option value="%s">%s</option>' % (c.city,c.city) for c in CityList])
return simplejson.dumps(out)
dajaxice_functions.register(regions)
Это работает нормально, и вызовы, с соответствующими данными, моя функция JavaScript в шаблоне нет проблемы, когда в названии региона нет каких-либо международных символов.
Скажите «Анталия», например. Однако, когда появляется такой регион, как «Мугла», он не работает. При закрытом осмотре переменные данные содержат «Mu% u011Fla», и я не могу вернуть его к тому, что, как я предполагаю, является необходимым форматом, чтобы Django мог правильно обращаться к данным модели.
Я использовал магические кавычки в верхней части страницы, я попытался использовать unescaping с помощью data.decode ('string-escape') и перетащить его между utf-8 и обратно .. но ничего не пытаюсь для работы ...
Это проблема Dajaxice, Django или python ... или я пропустил что-то действительно простое здесь?
Я был у него два дня, пытаясь понять это. Большое спасибо за любую помощь, которую вы можете предоставить.
Приветствия
Правильная строка в базе данных и изменяется, когда вы извлекаете ее для рендеринга или ее в той же искаженной форме в базе данных? –
Строка в базе данных в порядке. Я вытаскиваю его из базы данных с помощью представления def ... Я придерживаюсь его в выбранном выше, а затем выбираю его и вызываю onchange ... он передается через некоторый код Dajaxice в функцию в ajax.py. Я не уверен, что это искажено, поскольку оно оставляет выбор или когда. Причина, по которой он не будет соответствовать базе данных и вытащить регионы города, из-за ее искажения. – Chez
Если я передаю переменную как есть в функции javascript и unescape в предупреждении, это нормально. Но я не хочу этого делать, поскольку мне нужно, чтобы это было хорошо в методе ajax.py, чтобы я мог вытащить записи базы данных ... – Chez