【发布时间】:2017-01-27 18:37:57
【问题描述】:
我正在尝试以开发 (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,这将在 DEBUG 设置为 True 时由 runserver 自动完成(参见 django.contrib.staticfiles.views.serve() )。
-
是宁静的架构吗?我的意思是如果你有一个单独的前端应用程序在另一个端口上运行?
-
你用过nginx吗?