Как иметь символы Юникода в URL-адрес Django?
Мой URL-адрес выглядит следующим образом
url(ur'^phrase/(?P<lang>[_A-Za-z]+)/(?P<phrase>[%A-Za-z0-9]+)/$', 'gs.langdb.views.phrases'),
Views.phrases возвращает объект JSON
def phrases(request,lang,phrase):
langs = Langauges.objects.all().values(
'language',
'lang_code')
lang_list = []
try:
map(lambda x: lang_list.append(x),langs)
json = simplejson.dumps(lang_list)
return HttpResponse(json, mimetype='application/json')
except TypeError:
print "Can't convert language to Json \n"
Мой взгляд таков:
$("#phrase").autocomplete({
source: function(request,response){
var selectedValue = document.getElementById("language").value;
$.ajax({
url: "/phrase/"+selectedValue+"/"+request.term,
dataType : 'json',
type : 'GET',
data : {},
success : function(data,selectedValue) {
}
});
},
});
<div class="ui-words">
<label for="phrase">Input word: </label>
<input id="phrase">
</div>
Строка, которую я использовал для тестирования, अनिश
Ошибка, которую я получил в журнале сервера
"GET / фраза /Mr_in/%E0%A4%85%E0%A4%A8%E0%A4%BF%E0%A4%B6 HTTP/1.1" 404 2275
Я не уверен, где мне нужно указать кодировки? Любая помощь в этом вопросе будет оценена
1 ответ
Решение
Попробуйте этот шаблон URL:
url(r'^phrase/(?P<lang>[_A-Za-z]+)/(?P<phrase>([^/]+))/$', 'gs.langdb.views.phrases'),