尝试格式化时间和日期时出现“模块‘babel’没有属性‘日期’”

The*_*uth 1 python python-3.x python-babel

我用Babel编写了这个函数来格式化 Flask 应用程序中的时间和日期:

import babel
from flask import Flask

app = Flask(__name__)

def format_datetime(value, format='medium'):
    if format == 'full':
        format = "EEEE MMMM, d, y 'at' h:mma"
    elif format == 'medium':
        format = "EE MM, dd, y h:mma"

    print(format)    
    return babel.dates.format_datetime(date, format)

app.jinja_env.filters['datetime'] = format_datetime

strTime = '2021-01-07 12:13:07'
print(format_datetime(strTime))
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,它引发了这个异常:

import babel
from flask import Flask

app = Flask(__name__)

def format_datetime(value, format='medium'):
    if format == 'full':
        format = "EEEE MMMM, d, y 'at' h:mma"
    elif format == 'medium':
        format = "EE MM, dd, y h:mma"

    print(format)    
    return babel.dates.format_datetime(date, format)

app.jinja_env.filters['datetime'] = format_datetime

strTime = '2021-01-07 12:13:07'
print(format_datetime(strTime))
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

小智 5

尝试改变:

import babel
Run Code Online (Sandbox Code Playgroud)

到:

from babel.dates import format_date, format_datetime, format_time
Run Code Online (Sandbox Code Playgroud)