Flask扩展文档汇总 - (EPUB全文下载)

文件大小:1.07 mb。
文件格式:epub 格式。
书籍内容:

目錄
介紹 
Flask Babel 中文文档 
Flask Cache 中文文档 
Flask Celery 中文文档 
Flask Dashed 中文文档 
Flask DebugToolbar 中文文档 
Flask Exceptional 中文文档 
Flask Login 中文文档 
Flask Mail 中文文档 
Flask PyMongo 中文文档 
Flask RESTful 中文文档 
使用 Flask 设计 RESTful APIs 
Flask SQLAlchemy 中文文档 
Flask Testing 中文文档 
Flask WTF 中文文档 
Flask 扩展文档汇总
来源:
Python中文学习大本营
Flask-Babel
Flask-Babel 是一个
Flask
的扩展,在
babel
,
pytz

speaklater
的帮助下添加 i18n 和 l10n 支持到任何 Flask 应用。它内置了一个时间格式化的支持,同样内置了一个非常简单和友好的
gettext
翻译的接口。
安装
下面命令可以安装扩展:
$ easy_install Flask-Babel
或者如果你安装了 pip:
$ pip install Flask-Babel
请注意 Flask-Babel 需要 Jinja 2.5。如果你安装一个老的版本你将会需要升级或者禁止 Jinja 支持。
配置
在配置好应用后所有需要做的就是实例化一个
Babel
对象:
from flask import Flask

from flask.ext.babel import Babel

app = Flask(__name__)

app.config.from_pyfile('mysettings.cfg')

babel = Babel(app)
babel 对象本身以后支持用于配置 babel。Babel 有两个配置值,这两个配置值能够改变内部的默认值:
    
    
  
 BABEL_DEFAULT_LOCALE   
  如果没有指定地域且选择器已经注册, 默认是缺省地域。默认是
 'en'   

  
 BABEL_DEFAULT_TIMEZONE   
  用户默认使用的时区。默认是
 'UTC'   
。选用默 认值的时候,你的应用内部必须使用该时区。
对于更复杂的应用你可能希望对于不同的用户有多个应用,这个时候是选择器函数派上用场的时候。babel 扩展第一次需要当前用户的地区的时候,它会调用
localeselector()
函数,第一次需要时区的时候,它会调用
timezoneselector()
函数。
如果这些方法的任何一个返回
 None 
,扩展将会自动回落到配置中的值。而且为了效率考虑函数只会调用一次并且返回值会被缓存。如果你需要在一个请求中切换语言的话,你可以
refresh()
缓存。
选择器函数的例子:
from flask import g, request

@babel.localeselector

def get_locale():

    # if a user is logged in, use the locale from the user settings

    user = getattr(g, 'user', None)

    if user is not None:

        return user.locale

    # otherwise try to guess the language from the user accept

    # header the browser transmits.  We support de/fr/en in this

    # example.  The best match wins.

    return request.accept_languages.best_match(['de', 'fr', 'en'])

@babel.timezoneselector

def get_timezone():

    user = getattr(g, 'user', None)

    if user is not None:

        return user.timezone
以上的例子假设当前的用户是存储在
flask.g
对象中。
格式化日期
你可以使用
format_datetime()

format_date()

format_time()
以及
format_timedelta()
函数来格式化日期。它们都接受一个
datetime.datetime
(或者
datetime.date

datetime.time
以及
datetime.timedelta
)对象作为第一个参数,其它参数是一个可选的格式化字符串。应用程序应该使用天然的 datetime 对象且内部使用 UTC 作为默认时区。格式化的时候会自动地转换成用户时区以防它不同于 UTC。
为了能够在命令行中使用日期格式化,你可以使用
test_request_context()
方法:
>>> app.test_request_context().push()
这里是一些例子:
>>> from flask.ext.babel import format_datetime

>>> from datetime import datetime

>>> format_datetime(datetime(1987, 3, 5, 17, 12))

u'Mar 5, 1987 5:12:00 PM'

>>> format_datetime(datetime(1987, 3, 5, 17, 12), 'full')

u ............

书籍插图:
书籍《Flask扩展文档汇总》 - 插图1
书籍《Flask扩展文档汇总》 - 插图2

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Flask扩展文档汇总 - (EPUB全文下载)