Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django静态文件开发_Django_Static Files - Fatal编程技术网

Django静态文件开发

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

从关于这个主题的类似标题的数量来看,这似乎是一个混乱的来源,然而,我几乎放弃了希望,尝试在django开发服务器的静态文件上找到的一切

因此,我的静态文件是由C:/Users/Dan/seminarWebsite/static/提供的,其中我有用于图像、css等的子文件夹

设置:

静态文件应用程序也处于活动状态

网址:

模板:


但是,只有断开的链接出现在该地址:
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

  • 就这样

    如果您运行dev服务器(
    /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" />