ugettext and ugettext_lazy in Django

前端 未结 1 2009
滥情空心
滥情空心 2020-12-13 20:19

Could you explain what principal difference of ugettext and ugettext_lazy.

When i\'m try to

return HttpResponse(ugettext_lazy(\"Hello\"))


        
相关标签:
1条回答
  • 2020-12-13 20:36

    ugettext is used to load a translation of a string right now. ugettext_lazy returns an object that can eventually be turned into a string. You need that if the ugettext_lazy call is evaluated before the proper locale has been set.

    ugettext_lazy can be used where you use a Unicode object. Double-check your HTML output, it might look like this:

    <django.utils.functional...>
    

    and the browser is ignoring it all as an unrecognized tag.

    You don't need a lazy translation in this case, because you are immediately using the string. If you really want to continue with ugettext_lazy for some reason, try this:

    return HttpResponse(ugettext_lazy("Hello").encode('utf-8'))
    

    See the docs for more information.

    0 讨论(0)
提交回复
热议问题