1
Я пытаюсь использовать статические файлы в Django в разработке (DEBUG=True
). У меня есть структура каталогов вроде этого:Статические файлы, не обслуживаемые Django
my_project/
...
static/
img.png
В моем settings.py
у меня есть это:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATICFILE_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATIC_URL = '/static/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
и в my_project/urls.py
у меня есть это:
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin
urlpatterns = [
# ...
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('app.landing.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Это все кажется правильным. Когда я посещаю http://127.0.0.1:8000/static/img.png, я получаю 404.
Что я делаю неправильно?
Из документов: Во время разработки, если вы используете django.contrib.staticfiles, это будет сделано автоматически runserver когда это Для DEBUG установлено значение True (см. Django.contrib.staticfiles.views.serve()). –
Это спокойная архитектура? Я имею в виду, если у вас есть отдельный внешний интерфейс, работающий в другом порту? – AceLearn
Вы использовали nginx? – Windsooon