Django静态文件开发
从关于这个主题的类似标题的数量来看,这似乎是一个混乱的来源,然而,我几乎放弃了希望,尝试在django开发服务器的静态文件上找到的一切 因此,我的静态文件是由C:/Users/Dan/seminarWebsite/static/提供的,其中我有用于图像、css等的子文件夹 设置: 静态文件应用程序也处于活动状态 网址: 模板:Django静态文件开发,django,static-files,Django,Static Files,从关于这个主题的类似标题的数量来看,这似乎是一个混乱的来源,然而,我几乎放弃了希望,尝试在django开发服务器的静态文件上找到的一切 因此,我的静态文件是由C:/Users/Dan/seminarWebsite/static/提供的,其中我有用于图像、css等的子文件夹 设置: 静态文件应用程序也处于活动状态 网址: 模板: 但是,只有断开的链接出现在该地址:http://127.0.0.1:8000/homepage/images/vision.jpeg而且我认为它不应该在那个地址(home
但是,只有断开的链接出现在该地址:
http://127.0.0.1:8000/homepage/images/vision.jpeg
而且我认为它不应该在那个地址(homepage是调用静态图像文件的页面的url名称)。根据您到目前为止发布的内容,看起来您正在跟踪文档。我同意这可能很难理解,特别是如果一个人是django的新手
我相信这种混淆源于这样一个事实,django.contrib.staticfiles
有两种操作模式:
static\u URL
static\u ROOT
定义),以便可以使用适合静态文件的Web服务器托管静态文件。此排序是使用python./manage.py collectstatic完成的已安装的应用程序中有'django.contrib.staticfiles'
STATIC_URL = '/static/'
staticfiles
将查找每个已安装应用程序的static/
目录中的文件,以及中定义的目录中的文件。(此行为取决于中列出的后端)。
在您的情况下,您可能希望在STATICFILES\u DIRS
中指定目录:
STATICFILES_DIRS = (
'C:/Users/Dan/seminarWebsite/static/',
)
url.py的末尾,使视图可访问:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
settings.py
中有DEBUG=True
/manage.py runserver
),您应该能够通过http://localhost:8000/static/images/vision.jpeg
(服务于C:/Users/Dan/seminarWebsite/static/images/vision/jpeg
)
链接到模板中的静态文件
有两种方法可以为静态文件获取正确的链接—使用和使模板可以访问static\u URL
。既然你尝试了后者,我们就坚持下去
TEMPLATE\u context\u processors
中有'django.core.context\u processors.static'
。如果您没有重新定义模板\u上下文\u处理器
,那么以后就没有什么可做的了from django.template import RequestContext
# ...
def some_view(request):
# ...
return render_to_response('my_template.html', {
"foo" : "bar", # other context
}, context_instance = RequestContext(request))
my_template.html
中使用以下内容:
<a href="{{ STATIC_URL }}images/vision.jpeg" />
到要存储整理文件的目录
运行以进行排序
将您的Web服务器配置为在/STATIC/
上承载该目录(STATIC\u ROOT
)(或设置为STATIC\u URL
的任何内容)
确保加载静态文件时在settings.py中输入了正确的url和路径
而且,当你呈现html页面时,请确保其树结构正确我在未完成帖子的情况下意外提交的评论!将更新now@user1178602:我希望您能够在关闭之前进行更新(只剩下一票)。@user1178602:不,您没有成功。完成后,您应该标记此项并要求重新打开。看起来您无法访问模板中的{{STATIC\u URL}}
。您是否将'django.core.context\u processors.static'
添加到了?我的模板context processors中包含了它,感谢您指出我忽略了requestcontext。然而,它仍然不起作用。如果图像工作正常,它的URL应该是什么?因为图像当前的位置似乎是错误的?并不是说我是专家,但这可能会对问题有所帮助?而且我发现从新手的角度来看,这些文档很难理解,因此我一直在各种博客/论坛上寻找建议。你能在http://127.0.0.1:8000/homepage/static/images/vision.jpeg
?重要碰撞:完成所有步骤后“在开发服务器上托管静态文件”重新启动服务器!我知道这对你们中的一些人来说可能是显而易见的,但在我尝试重新启动服务器之前,我花了很多时间毫无希望地将文件从一个地方移到另一个地方。此外,关于“在开发服务器上托管静态文件”的步骤,请确保您的应用程序列在在您的settings.py中安装了\u APP“tuple!这不会提供问题的答案。一旦您有足够的设置,您将能够;相反-
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
from django.template import RequestContext
# ...
def some_view(request):
# ...
return render_to_response('my_template.html', {
"foo" : "bar", # other context
}, context_instance = RequestContext(request))
<a href="{{ STATIC_URL }}images/vision.jpeg" />