how to have unicode characters in django url?

2019-03-03 23:26发布

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条回答
不美不萌又怎样
2楼-- · 2019-03-04 00:01

try this url pattern:

url(r'^phrase/(?P<lang>[_A-Za-z]+)/(?P<phrase>([^/]+))/$', 'gs.langdb.views.phrases'),
查看更多
登录 后发表回答