Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在flask appbuilder中获取当前语言_Python_Flask_Flask Appbuilder_Python Babel - Fatal编程技术网

Python 在flask appbuilder中获取当前语言

Python 在flask appbuilder中获取当前语言,python,flask,flask-appbuilder,python-babel,Python,Flask,Flask Appbuilder,Python Babel,我用Flask Appbuilder编写了一个简单的应用程序,view.py如下所示。这是exmaple in的一部分,在method1中做了一些更改,我用我希望找到的函数替换了return'Hello' 我们可以在应用程序中更改语言(en、fr、ru等)并进行翻译。是否有获取当前语言的函数?(当前_语言() 你的问题模棱两可。您是指当前的服务器端语言还是客户端语言 前者: import locale locale.getlocale() 后者: from flask import reque

我用Flask Appbuilder编写了一个简单的应用程序,
view.py
如下所示。这是exmaple in的一部分,在
method1
中做了一些更改,我用我希望找到的函数替换了
return'Hello'

我们可以在应用程序中更改语言(en、fr、ru等)并进行翻译。是否有获取当前语言的函数?(当前_语言()


你的问题模棱两可。您是指当前的服务器端语言还是客户端语言

前者:

import locale
locale.getlocale()
后者:

from flask import request
request.headers.get('your-header-name')

您感兴趣的标题是
Accept Language
。但在以这种方式推断客户机语言时,有一些警告。请看

你的问题有歧义。您是指当前的服务器端语言还是客户端语言

前者:

import locale
locale.getlocale()
后者:

from flask import request
request.headers.get('your-header-name')

您感兴趣的标题是
Accept Language
。但在以这种方式推断客户机语言时,有一些警告。请参见
appbuilder
实例具有
bm
属性,该属性是
BabelManager
类的实例

此类具有一个
get\u locale
方法,该方法返回应用程序正在使用的当前语言

class MyView(BaseView):    
    default_view = 'method1'    
    @expose('/method1/')
    @has_access
    def method1(self):
        return appbuilder.bm.get_locale()

您可以检查
appbuilder
实例上的
BabelManager
类的代码,该实例具有
bm
属性,该属性是
BabelManager
类的实例

此类具有一个
get\u locale
方法,该方法返回应用程序正在使用的当前语言

class MyView(BaseView):    
    default_view = 'method1'    
    @expose('/method1/')
    @has_access
    def method1(self):
        return appbuilder.bm.get_locale()
您可以在上检查
BabelManager
类的代码