【发布时间】:2015-12-02 16:47:10
【问题描述】:
通过这些设置,django 显示存储在应用程序的静态目录中的文件 404.png NeoRecApp if NeoRec if DEBUG=True,否则不显示如果 debug 设置为 false。
(设置STATIC_ROOT 后,我运行python manage.py collectstatic,将文件移动到新创建的“NeoRecApp/static”。)
settings.py
DEBUG = False
#DEBUG = True
ALLOWED_HOSTS = ["*"]
STATIC_URL = 'static/'
STATIC_ROOT = 'NeoRecApp/static/'
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'NeoRecApp',
)
urls.py
from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.static import static
import settings
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
【问题讨论】:
-
尝试使用
NeoRecApp/static/404.png访问图像。我通常将NeoRecApp/static包含到STATICFILES_DIRS设置中,并将我的STATIC_URL保持为/static/。对我来说很好用(我在运行collectstatic后删除了static.root -
不起作用。返回 404,这是我的自定义页面,没有图像。
-
相同的结果。只有 NeoRecApp 会在 /static 之前添加。完整的 src 路径是“NeoRecApp/static/404.png”。此外,它超链接到“localhost:8000/NeoRecApp/static/404.png”。我没有向 NeoRecApp/* 声明任何 urlpattern。但我不明白这有什么帮助。