我刚开始玩 Flask,所以很可能我只是错过了一些明显的东西,但对于其他人来说,这可能是个好问题,也寻找相同的答案:)
我想创建 Flask 应用程序,它将侦听多语言 URL。所以我想要的是一个端点将在 /news/111 上监听,就像 /naujiena/111 一样(例如立陶宛语)。
所以一个明显的解决方案是给视图函数提供一些路由,比如:
@app.route('/news/<id>')
@app.route('/naujiena/<id>')
def news_view(id): pass
哪个应该有效,但显然稍后添加新语言或只是更新链接会在(一些私密的地方)痛苦。
我想到的另一个解决方案是,我可以有一个文件来定义真实视图函数,然后是一些“语言视图”文件,我只需在其中获取请求,然后从其他文件中查询真实视图函数。像
新闻.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)
新闻_lt.py
from news import news_view
@app.route('/naujiena/<id>')
def news_view_lt(id):
return news_view(id)
这还不错,至少可以以某种方式很好地组织起来。但我打赌应该有一些我想念的东西:) 那么伙计们,那是什么?:) 欢迎提出任何建议。
谢谢!