У меня есть простое приложение Python, которое я пытаюсь развернуть в App Engine. Приложение отлично работает в моей локальной среде. Я часами боролся с абсолютными и относительными путями. У меня есть следующий простой фильтр в папке / utils, файле filters.py:
from .. import app
@app.template_filter()
def nicedate(datestring):
datestring=datestring[:10]
return datestring
При запуске моего приложения я получаю следующую ошибку:
from .. import app
ValueError: attempted relative import beyond top-level package
Это странно, потому что я понимаю. означает «на один уровень выше», и у меня есть следующая структура проекта:
main.py
views.py
requirements.txt
app.yaml
util/
filters.py
templates/
static/
и т.д.
И относительный импорт с двумя точками отлично работает в моей среде разработки.
Итак, filters.py - всего на один уровень ниже, и .. должен поднять меня на один уровень вверх.
Однако, когда я использую только одну точку, я получаю:
from . import app
ImportError: cannot import name 'app'
Как мне сделать этот импорт?