HY!
我需要根据语言制作网址。
示例:
如果我的语言英语和子类别名为“articles”,那么网址可能是这样的:
/en/articles/...
如果语言是葡萄牙语,并且已经翻译的子类别是“artigos”,那么网址将是:
/pt/artigos/...
我该怎么办? 我必须使用urls.py或一些monkeypatches?
感谢
答案 0 :(得分:1)
Django LocaleURL是一个正是这样做的中间件。文档可以在源代码中找到,或online。
编辑:我读过你想要翻译网址的事实......我不知道提供这个的任何代码片段。也许您可以扩展LocalURL中间件来为您处理翻译。假设你有像(?P<articles>\w+)
这样的正则表达式匹配,你可以在中间件中确定你想要使用哪个视图。可能会出现以下映射?
if article_slug in ['articles', 'artigos', 'article']:
article(request) # Call the article view
答案 1 :(得分:1)
此功能已存在于尚未发布的版本1.4中。您可以阅读about it in the release note。
如果您真的需要此功能,并且没有现有的应用程序满足您的需求,您仍然可以尝试自己应用相应的补丁。
答案 2 :(得分:1)
我一直在使用transurlvania取得了巨大的成功,它完全满足您的需求和更多,但我发现在下一个Django版本中django-i18nurls将包含在django核心中,所以也许它会更好地了解