通过 django 提供静态文件时找不到页面
Posted
技术标签:
【中文标题】通过 django 提供静态文件时找不到页面【英文标题】:page not found when serving static files via django 【发布时间】:2017-06-30 03:08:18 【问题描述】:所以在 settings.py 我有
STATIC_URL = '/static/'
还有
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp.apps.MyappConfig'
]
因此你可以看到 django.contrib.staticfiles 在那里,而且 Debug = True
在我的应用程序目录中,我有一个文件存在于该路径中
myapp/static/css/myapp.css
但是,当我去http://localhost/myapp/static/css/myapp.css
它最终返回
Page not found (404)
Request Method: GET
我做错了什么,如何让 django 正确地提供静态文件?
【问题讨论】:
【参考方案1】:将其包含在您的项目/urls.py 中
from django.conf import settings
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
【讨论】:
【参考方案2】:在您的设置中使用选项STATICFILES_DIRS。
一个例子:
# settings.py
...
STATICFILES_DIRS = [
"/path/to/your/static/files/folder",
]
...
在您的模板中,使用静态模板标签,如
# some_page.html
...
% load static %
<img src="% static "my_app/example.jpg" %" />
...
或硬编码
# some_page.html
...
<img src="/static/my_app/example.jpg" />
...
【讨论】:
以上是关于通过 django 提供静态文件时找不到页面的主要内容,如果未能解决你的问题,请参考以下文章