在模型和公用函数中,使用ugettext_lazy()和ungettext_lazy()来标记字符串是很普遍的操作。 当你在你的代码中其它地方使用这些对象时,你应当确定你不会意外地转换它们成一个字符串,因为它们应被尽量晚地转换(以便正确的地域生效) 这需要使用几个帮助函数。
拼接字符串: string_concat()

标准Python字符串拼接(''.join([...]) ) 将不会工作在包括惰性翻译对象的列表上。 作为替代,你可以使用django.utils.translation.string_concat(), 这个函数创建了一个惰性对象,其连接起它的内容 并且 仅当结果被包括在一个字符串中时转换它们为字符串 。 例如:
from django.utils.translation import string_concat
# ...
name = ugettext_lazy(u'John Lennon')
instrument = ugettext_lazy(u'guitar')
result = string_concat([name, ': ', instrument])
System Message: ERROR/3 (<string>, line 519)
Error in “cnid” directive: no content permitted.
.. cnid:: 109
在这种情况下,当
System Message: WARNING/2 (<string>, line 523)
Explicit markup ends without a blank line; unexpected unindent.
result 自己被用与一个字符串时, result 中的惰性翻译将仅被转换为字符串(通常在模板渲染时间)。
allow_lazy() 修饰符
Django提供很多功能函数(如:取一个字符串作为他们的第一个参数并且对那个字符串做些什么)。(尤其在 django.utils 中) 这些函数被模板过滤器像在其他代码中一样直接使用。
如果你写你自己的类似函数并且与翻译打交道,当第一个参数是惰性翻译对象时,你会面临“做什么”的难题。 因为你可能在视图之外使用这个函数(并且因此当前线程的本地设置将会不正确),所以你不想立即转换其为一个字符串。
象这种情况,请使用 django.utils.functional.allow_lazy() 修饰符。 它修改这个函数以便 假如第一个参数是一个惰性翻译, 这个函数的赋值会被延后直到它需要被转化为一个字符串为止。
例如:
from django.utils.functional import allow_lazy
def fancy_utility_function(s, ...):
# Do some conversion on string 's'
# ...
fancy_utility_function = allow_lazy(fancy_utility_function, unicode)
allow_lazy() 装饰符 采用了另外的函数来装饰,以及一定量的,原始函数可以返回的特定类型的额外参数 (*args ) 。 通常,在这里包括 unicode 就足够了并且确定你的函数将仅返回Unicode字符串。
使用这个修饰符意味着你能写你的函数并且假设输入是合适的字符串,然后在末尾添加对惰性翻译对象的支持。
相关推荐:
seo网站页面优化包括什么,seo页面优化技术 ,no ai写作
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
seo需要做些什么,做seo的 ,超级ai地图
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
ChatGPT页面无法访问?解决方案,让你轻松摆脱困扰!,ai染发颜色
SEO开发:数字营销的核心驱动力,园区网站建设
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
用AI写文章,释放你的创作潜力!
专业SEO方案助力企业网站流量暴增,精准引流不再是难题,网站建设合同4篇
目前AI软件有哪些?智能新时代的必备工具
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
未来工作方式!AI在线工具让效率倍增,工作变轻松
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
OpenAI无法验证支付方式?解决方案与常见问题解析,你好月光ai
ChatGPT宕机两小时,OpenAI紧急修复,用户期待AI恢复正常服务,oppo小布ai
OpenAI账号申诉怎么办?全方位解析解决方案,ai写作免费公众号下载
线上AI写作免费一键生成,轻松提升写作效率,解放创作思维
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
SEO优化顾问:让您的网站脱颖而出的秘密武器,ai ps 群
AI撰写工具的无限可能,让内容创作更高效、更精彩!
文章生成AI:让写作轻松高效的神奇工具
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
ChatGPT4网页空白:重新定义智能交互的未来,怎么登ai
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
UCMS:引领智慧医疗新时代,打造数字化健康未来,推广工作谈营销
seo用什么手法,seo方式 ,ai绘画飞翔
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
在线AI文章生成:智能写作的无限可能
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
主流seo是什么,seo是什么推广网站 ,AI心理师
SEO就业前景如何?打造数字时代的职业新风口,常州武进区水产网站建设
企业如何借助SEO咨询实现精准流量引爆,助力业绩提升,立刻推广的旅游线下营销
文章续写AI:提升写作效率,创意无限
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
丹东抖音seo是什么,抖音seo引流 ,ai工具编写作业指导书