how to have unicode characters in django url?

笑着哭i 提交于 2020-01-22 02:31:07

问题


My Url conf is as follows

url(ur'^phrase/(?P<lang>[_A-Za-z]+)/(?P<phrase>[%A-Za-z0-9]+)/$', 'gs.langdb.views.phrases'),

Views.phrases returns JSON object

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"

My View is as follows:-

$("#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>

String which i used for testing, अनिश

Error which i have got in the server log

"GET /phrase/Mr_in/%E0%A4%85%E0%A4%A8%E0%A4%BF%E0%A4%B6 HTTP/1.1" 404 2275

I am not sure whether where i need to specify encodings? Any help in this issue will be appriciated


回答1:


try this url pattern:

url(r'^phrase/(?P<lang>[_A-Za-z]+)/(?P<phrase>([^/]+))/$', 'gs.langdb.views.phrases'),


来源:https://stackoverflow.com/questions/20514455/how-to-have-unicode-characters-in-django-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!