【问题标题】:how to have unicode characters in django url?如何在 django url 中有 unicode 字符?
【发布时间】:2013-12-29 03:35:28
【问题描述】:

我的Url conf如下

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 /phrase/Mr_in/%E0%A4%85%E0%A4%A8%E0%A4%BF%E0%A4%B6 HTTP/1.1”404 2275

我不确定是否需要在哪里指定编码? 在这个问题上的任何帮助都将得到应用

【问题讨论】:

    标签: python django unicode internationalization django-i18n


    【解决方案1】:

    试试这个网址模式:

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

    【讨论】:

    • 谢谢!但是上面的表达式给出了错误,因为 ImproperlyConfigured: "^phrase/(?P[_A-Za-z]+)/(?P([^//]+)/$" is not a valid正则表达式:不平衡括号。如何在 urls 中指定转义序列
    • 您在/$ 之前漏掉了一个括号。从我的代码中复制整行。你不需要逃避/
    猜你喜欢
    • 2016-10-13
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 2012-07-23
    • 2017-05-11
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多