Я новичок в Django, работаю над своим первым проектом и у меня проблема со статическими файлами.
Я создал простую систему аутентификации, используя django.contrib.auth
, состоящую из двух шаблонов: mysite/templates/index.html
и mysite/templates/registration/login.html
. У меня есть глобальный статический контент в mysite/static
, к которому я хочу иметь доступ во всех шаблонах, отображаемых всеми приложениями.
mysite/templates/index.html
содержит <img src="{{ STATIC_URL }}pics03.jpg"/>
, который отображается как "static/pics03.jpg"
и отлично загружается, когда я посещаю URL-адрес localhost:8000/
mysite/templates/registration/login.html
содержит <img src="{{ STATIC_URL }}pics03.jpg"/>
, который также отображается как "static/pics03.jpg"
и не загружается, когда я посещаю URL-адрес "localhost:8000/accounts/login/"
В моем urls.py у меня есть:
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home'), # plays index.html template
url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
В моем settings.py у меня есть:
PROJECT_DIR = os.path.dirname(__file__)
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_DIR,'static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATIC_URL = '/static/'
STATIC_ROOT = ''
У меня создалось впечатление, что Django должен искать глобальный статический контент в STATICFILES_DIRS, но он не находит статического контента для login.html, даже если я изменяю там URL-адрес на абсолютный путь к статической папке. Может ли кто-нибудь пролить свет на это?