2013-12-11 45 views
0

我的網址的conf如下如何在django url中使用unicode字符?

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

我不知道無論我需要指定編碼? 在這個問題上的任何幫助將appriciated

回答

2

試試這個URL模式:

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

的感謝!但是上面的表達式給出了錯誤:「^ phrase /(?P [_A-Za-z] +)/(?P ([^ //] +)/ $」不是有效的正則表達式:unbalanced如果在URL中指定了esacape sqences – anish

+0

你錯過了'/ $'之前的括號,從我的代碼中複製整行,不需要轉義'/' – sha256