Проблема со статическим файлом Django при развертывании

#django #django-templates

#django #django-шаблоны

Вопрос:

Здравствуйте, я пытаюсь развернуть приложение django, которое использует {{ STATIC_URL }} тег.

Когда я размещаю свой код на EC2 (в режиме отладки) Я получаю следующую ошибку:

 Module "django.core.context_processors" does not define a "static" callable 
        request processor
  

Этого не происходит на ./manage.py runserver
Это также исчезает, когда я удаляю django.core.context_processors.static из своих процессоров контекста шаблона (но тогда я не получаю статический носитель)

Кто-нибудь знает, что происходит?

Ответ №1:

static context_processor — и приложение staticfiles — были добавлены в версии 1.3. Похоже, что вы используете более старую версию в рабочей среде.

Комментарии:

1. Означает ли это, что я не могу использовать STATIC_URL в settings.py ?

Ответ №2:

Ответ №3:

Я надеюсь, вы нашли решение. Но поскольку никто не решил поместить ее здесь, я, в случае, если кто-либо из новичков в Django, таких как я, наткнется на эту ошибку, вот мое решение. Если вы внимательно прочитаете ошибку, предполагая, что у вас есть DEBUG = True, вы поймете, что статическое определение (функция pythonic) отсутствует в context_processors.py в модуле django.core. Поэтому перейдите туда, в свой каталог. на моем сервере это было /usr/lib/python2.6 /dist-packages/django / core. Редактировать context_processors.py и добавьте следующую функцию

  def static(request):
    # this func will static-related context variables to the context
    return {'STATIC_URL': settings.STATIC_URL}