2016-02-06 4 views
1

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

Вот мой шаблон:

{% load static from staticfiles %} 

<header> 
    <div id="header_title">App name goes here</div> 
    <div id="header_nav"> 
     <nav> 
      {% if user.is_authenticated %} 
      <a href="home">Home</a> 
      <a href="feed">Feed</a> 
      <a href="me"> 
       {% load staticfiles %} 
       <img src="{% static 'user/'%}{{request.user}}/avatar.png" alt=""> 
      </a> 
      <a href="notifications">N</a> 
      <a href="settings"> 
       <div>S</div> 
      </a> 
      {% else %} 
      <a href="login">Log in</a> 
      <a href="register">Register</a> 
      {% endif %} 
     </nav> 
    </div> 
</header> 

И мой settings.py:

... 

# Application definition 

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'tracks', 
... 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates')], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
       'django.core.context_processors.static', 
       'django.core.context_processors.media', 
      ], 
     }, 
    }, 
] 

... 

# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 

STATIC_URL = '/static/' 
AUTH_PROFILE_MODULE = 'tracks.UserProfile' 

Это не показывает изображение, вместо этого он показывает "образ не найден" значок.

Что здесь происходит? Почему это не загрузка файлов и их отображение? Переход к URL-адресу «/static/user/enitoni/avatar.png» дает мне ошибку 404.

Вот тонированное HTML, если это помогает:

<a href="me"> 
    <img src="/static/user/enitoni/avatar.png" alt=""> 
</a> 

ответ

1

... Так вы определите STATIC_URL но `t didn определить STATIC_ROOT или STATIC_FILE_DIRS. STATIC_URL будет загружать статические файлы, присутствующие в директории с именем 'статический', который должен быть в your_app как:

my_app/статический/my_app/myimage.jpg

и доступ через

<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>

Если вам необходимо загрузить статические файлы вне вашего приложения, обратитесь к документации: https://docs.djangoproject.com/en/1.9/howto/static-files/

Смежные вопросы