2
我刚开始用瓶玩,所以很可能我只是错过了一些东西明显,但也许它可能是很好的问题,别人也找了同样的答案:)多语言网址
我想创建瓶应用程序,它将监听多语言URL。所以我想要的是,一个端点将在/ news/111上听,就像/ naujiena/111一样(例如立陶宛语)。
因此,一个显而易见的解决方案是给少数航线视图功能,如:
@app.route('/news/<id>')
@app.route('/naujiena/<id>')
def news_view(id): pass
这应该工作,但显然它会在(一些贴心之处)疼痛在以后添加新的语言或只是为了更新链接。
我脑海中另一个解决方案是,我可以在一个文件中定义真实视图功能,然后在一些“语言视图”文件中抓取请求,然后从其他文件查询真实视图功能。像
news.py
def news_view(id): pass
news_en.py
from news import news_view
@app.route('/news/<id>')
def news_view_en(id):
return news_view(id)
news_lt.py
from news import news_view
@app.route('/naujiena/<id>')
def news_view_lt(id):
return news_view(id)
这是不坏,在leats可以很好地以某种方式组织。但我敢打赌,应该有我想念的东西:)所以,伙计们,那是什么? :)欢迎任何建议。
谢谢!
这是酷!感谢Blender,我说我错过了一些聪明的东西:) – 2012-08-05 12:10:50
@Blender但是,然后,如何在url_for中调用正确的url? – 2013-07-24 14:57:19
@PaoloCasciello:创建这些路由后,查看'app.url_map'。 – Blender 2013-07-24 18:31:35