У меня проблема с использованием Djajaxice с международными символами ...
У меня есть шаблон django ... в этом шаблоне есть следующий выбор:
<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>
Как вы можете заметить при изменении выбора, я вызываю функцию регионов и передаю ей два параметра. Название обратного звонка и выбранное значение
Вот функция в файле 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 мог правильно обращаться к данным модели.
Я использовал волшебные кавычки в верхней части страницы, я пытался использовать его для удаления с помощью data.decode ('string-escape') и помещать его между utf-8 и обратно .. но ничего, что я пытаюсь сделать работа ...
Это проблема Dajaxice, Django или python ... или я здесь упускаю что-то очень простое?
Я занимаюсь этим уже два дня, пытаясь выяснить это ... огромное спасибо заранее за любую помощь, которую вы можете оказать.
Приветствия