Как использовать python модуль timea go с flask? - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь использовать модуль python timea go для преобразования даты и времени в "некоторое время go" в моем приложении flask. Я ищу решение для преобразования даты при получении результатов из моей модели или при обработке в шаблоне ...

Я провел некоторое исследование в Google, но не нашел каких-либо полезных случаев, связанных с flask ...

пример кода

class SampleModel(db.Model):
    __tablename__ = "sample_table"
    id = db.Column(db.BigInteger, primary_key=True)
    name =db.Column(db.String(100),nullable=False)
    location=db.Column(db.String(100),nullable=False)
    arrival_date = db.Column(db.DateTime, nullable=False)

    @classmethod
    def find_by_id(cls, id:int):
        return cls.query.filter_by(id=id).order_by(cls.arrival_date.desc()).all()

колба

<div>
{% for row in page_data %}
     .
     .
     .
     <td>{{ row["arrival_date"]  }}</td>
     .
{% endfor %}
</div>

при вставке данных в таблицу требуется фактическая отметка времени, но при печати в шаблоне следует использовать timea go ...

, который также предполагает использование метода init в классе Model, но путать с реализацией ...

Пожалуйста, совет

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Документ показывает это , которое вы можете включить в свой маршрут и передать его вместе с шаблоном рендеринга:

import timeago, datetime

now = your date
date = datetime.datetime.now() 

print (timeago.format(date, now)) # will print 3 minutes ago

Но в вашем случае вам нужно использовать его в html само по себе: я бы рекомендовал использовать Flask -Moment в этом случае вместе с моментом. js. Фрагмент кода можно найти здесь .

0 голосов
/ 13 февраля 2020

Доступен модуль flask -> Flask -Humanize.

https://github.com/vitalk/flask-humanize

Этот модуль поможет вам конвертировать множество вещей в читаемый человеком формат, также поддерживает несколько языков ...

это то, как мы инициализируем в приложении.

from flask import Flask
from flask_humanize import Humanize

app = Flask(__name__)
humanize = Humanize(app)

@humanize.localeselector
def get_locale():
    return 'ru_RU'

это то, как мы используем это в шаблоне

{{ datetime.datetime.now()|humanize('naturalday') }} -> today
{{ datetime.date(2014,4,21)|humanize('naturaldate') }} -> Apr 21 2014
{{ (datetime.datetime.now() - datetime.timedelta(hours=1))|humanize() }} -> an hour ago
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...