如果我现在搜索'本地主机:5000/?lang=en'或'本地主机:5000/?我可以在两种语言之间切换。我用巴别塔翻译。现在我写了这样的应用程序:
LANGUAGES = ['en', 'sv']
app = Flask(__name__)
app.config["BABEL_DEFAULT_LOCALE"] = LANGUAGES[0]
babel = Babel(app)
@babel.localeselector
def get_locale():
if request.args.get("lang"):
session["lang"] = request.args.get("lang")
return session.get("lang", LANGUAGES[0])
@app.route("/", methods=['GET'])
def index():
return render_template("index.html", me=me)
在html文件中
^{pr2}$我知道这不是一个好办法,但老实说,我不知道怎么做否则。Here我找到了一个我应该如何解决它的例子,但我做了它如此不同,许多小时后,我放弃了这样做的尝试。在
让我满意的是
A button that add the text '/?lang=sv' when I press it if it now is 'en' and reverse if current lang is 'sv'
现在已经实现了(除了我有两个按钮而不是一个按钮),但是如果我输入类似'本地主机:5000/?lang=sdfsdf'我得到的错误代码是500,我不相信是特别好的允许,我真的不知道我应该在哪里添加逻辑来防止它,我也知道在我心里这是不正确的做法!但这是我能想出的最好的办法。在
您可以使用单选按钮来选择感兴趣的语言,而不是使用提交按钮。在这种情况下,错误代码500并不是坏事。您无法处理输入,错误代码500表示服务器无法处理请求。您可以为500个错误添加自定义页,也可以签入服务器端代码。索引函数可以添加查询参数的检查,并进行适当的处理,而不仅仅是返回呈现的模板。在
相关问题 更多 >
编程相关推荐