django статические файлы с методом «С шаблоном шаблона» - PullRequest
0 голосов
/ 28 февраля 2012

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

Я хочу вставить простое изображение в шаблон.

Я следовал TemplateSyntaxError 'staticfiles' не является допустимой библиотекой тегов ' и https://docs.djangoproject.com/en/1.3/howto/static-files/#with-a-template-tag

Ниже приведены мои настройки.

  1. моя статическая папка находится в /myproject/myapp/static/.И путь img /static/images/hi.jpg.
  2. значение src в теге img * "/static/images/hi.jpg" при отображении страницы
  3. Установка в setting.py

    STATIC_URL = '/static/'    
    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'django.contrib.admin')

В шаблоне у меня есть


 {% load static %}
 {% get_static_prefix as STATIC_PREFIX %}

и исходная часть изображения

</p>

<p>src="{{ STATIC_PREFIX }}images/hi.jpg"</p></li>
</ol>

<p>
наконец, URL-адрес приложения http://127.0.0.1:8000/myapp/

какая часть неправильно настроена?Любая идея?Большое спасибо за помощь.Извините за плохое форматирование.

Ответы [ 2 ]

1 голос
/ 26 марта 2015

Я использую в html {% load staticfiles %} и, например,

<img src="/static/images/loader.gif" alt="loader.gif"></img>

или также

<img src="{% static 'images/loader.gif %}" alt="loader.gif"></img>

с настройкой .py

BASE_DIR = os.path.dirname(os.path.dirname(__file__))    

STATICFILES_DIRS = (
            os.path.join(BASE_DIR, "static"),
        )

STATIC_URL = '/static/'

и это работает (Django 1.7 и Python3.4).

0 голосов
/ 28 февраля 2012

В вашем urls.py вы должны добавить статические файлы url:

# urls.py

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = patterns('',
    ...
)

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