AttributeError: объект типа «datetime.datetime» не имеет атрибута «datetime» даже после использования импорта datetime - PullRequest
0 голосов
/ 04 октября 2019

У меня были следующие коды в моем проекте колбы, который изменяет метку времени. Я ничего не модифицировал, но коды теперь выдают вышеупомянутую ошибку.

Я ответил на все подобные вопросы на StackOverflow, но все предполагают, что это связано с использованием from datetime import datetime вместо import datetime. Но в моем следующем коде я использую import datetime. Тем не менее, я все еще получаю AttributeError: type object 'datetime.datetime' has no attribute 'datetime'.

Мой код:

view.py

import datetime


@app.template_filter('datetimeformat')
def datetimeformat(value, format):
    d_obj = datetime.datetime.strptime(value, '%Y-%m-%d')
    return d_obj.strftime(format)

@app.template_filter('timestampformat')
def timestampformat(value, format):
    d_obj = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S') # This is where the error occurs.
    current_date = datetime.date.today()
    timestamp_date = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S').date()
    if timestamp_date == current_date:
        timestamp_time = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S').time()
        delta = datetime.timedelta(hours=5, minutes=30)
        timestamp_local = ((datetime.datetime.combine(datetime.date(1,1,1),timestamp_time) + delta).time())
        return "Today at {}".format(timestamp_local.strftime('%I:%M %p'))
    else:
        return d_obj.strftime(format)

template.html (registration['timestamp'] = 2019-09-13 13:29:47)


...
        <td>{{ registration['timestamp'] }}</td>
        {% if 'Today' in registration['timestamp']|timestampformat('%B %d, %Y %A \n %I:%M %p') %}
            <td><span class="timestamp today">{{ registration['timestamp']|timestampformat('%B %d, %Y, %A, %I:%M %p') }}</span></td>
        {% else %}
            <td><span class="timestamp">{{ registration['timestamp']|timestampformat('%B %d, %Y, %A, %I:%M %p') }}</span></td>
        {% endif %}

...

Я действительно растерян, что пошло не так.

1 Ответ

0 голосов
/ 04 октября 2019

Из документации по питону модули загружаются только один раз за сеанс по соображениям эффективности. Простая перезагрузка вашего интерпретатора (или в данном случае сервера) должна решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...