ИСПРАВЛЕНО: PythonAnywhere->ImportError поднимал загрузку nrpccms.newsroom.templatetags.blog_extras: нет модуля с именем settings

Пытаюсь развернуть свое самое первое приложение в PythonAnywhere (или в AnywhereAnywhere, если на то пошло). В настоящее время я получаю

TemplateSyntaxError: 'blog_extras' is not a valid tag library: ImportError raised loading nrpccms.newsroom.templatetags.blog_extras: No module named settings

[полный журнал ошибок}(http://dpaste.com/1421863/) увидеть ошибку в реальном времени

Новостной отдел приложения — самый первый в INSTALLED_APPS:

#! python
# ...
INSTALLED_APPS = (
    "nrpccms.newsroom",
    "django.contrib.admin",
# ...

Изменить: Кроме того, blog_extras.py находится в MY_PROJECT/MY_APP/templatetags, а init.py в MY_PROJECT/mY_APP.

Было: Кроме того, blog_extras.py находится в MY_PROJECT/MY_APP/templates, и ЕСТЬ init.py в MY_PROJECT/mY_APP

Пожалуйста, помогите мне определить мои ошибки, так как я не знаю, где еще искать: это мои первые детские шаги в искусстве webapps/django.

Заранее большое спасибо!


person Mario Ricardo Osorio    schedule 19.10.2013    source источник
comment
Можете ли вы опубликовать свой blog_extras.py, пожалуйста?   -  person tmaster    schedule 19.10.2013


Ответы (2)


blog_extras.py находится не в той папке

my_project/    
    my_app/
        __init__.py
        models.py
        views.py
        templatetags/
            __init__.py
            blog_extras.py

blog_extras.py должен находиться в каталоге templatetags на том же уровне, что и models.py, views.py и т. д. Если его еще нет, создайте его. не забудьте файл init.py, чтобы каталог считался пакетом Python.

Официальная документация по пользовательским тегам шаблонов

person flyankur    schedule 19.10.2013
comment
Но вы упомянули, что blog_extras.py находится в MY_PROJECT/MY_APP/templates. Это должны быть теги шаблонов, а не шаблоны. - person flyankur; 20.10.2013
comment
Извините, это была опечатка - person Mario Ricardo Osorio; 21.10.2013

Исправлено: мне пришлось добавить папку моих проектов в sys.path в моем скрипте wsgi. Это мой новый скрипт wsgi:

enable_this = '/home/nimbiotics/.virtualenvs/nrpccms/bin/activate_this.py' execfile(activate_this, dict(file=activate_this))

импорт ОС импорт системы

path = '/home/nimbiotics/projects', если путь не указан в sys.path: sys.path.append(path)

##################################################### nrpccms_path = '/home/nimbiotics/projects/nrpccms' if nrpccms_path not

в sys.path: sys.path.append(nrpccms_path)

#

os.environ['DJANGO_SETTINGS_MODULE'] = 'nrpccms.settings'

импортировать приложение django.core.handlers.wsgi = django.core.handlers.wsgi.WSGIHandler()

person Mario Ricardo Osorio    schedule 20.10.2013
comment
Это странно, обычно, если вы создаете проект с помощью django-admin.py, созданный им файл wsgi должен включать путь к вашему проекту. - person tmaster; 20.10.2013
comment
Расскажи мне об этом!! и заметьте, я нуб, и это моя первая попытка создать какое-либо веб-приложение, не говоря уже о его развертывании. - person Mario Ricardo Osorio; 20.10.2013