【问题标题】:Serving static file with django使用 django 提供静态文件
【发布时间】:2013-05-02 02:01:33
【问题描述】:

我是 Django 新手,正在尝试学习如何在本地部署中提供静态文件。我已经阅读了 this 以及来自 * 的许多其他可能相关的问题,但我似乎无法找到解决我的问题。

这是我的设置,我不知道 Django 不为我的静态文件提供服务的原因是什么

STATIC_ROOT = ''
STATIC_URL = '/html/'
STATICFILES_DIRS=('C:/Users/RayLim/Desktop/project/home/username/djcode/mysite/mysite/templates/html',)

在我的模板中,我将它们称为

<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />

我的html文件的结构位于C:/Users/RayLim/Desktop/project/home/username/djcode/mysite/mysite/templates

html
 /css
  /images
  /style.css
 /js
  /jquery.jcarousel.pack
  /jquery-1.4.1.min
  /jquery-func

这是服务器响应

"GET /home/css/images/big1.jpg HTTP 1.1" 404 3782

【问题讨论】:

    标签: django


    【解决方案1】:

    首先,静态文件和模板通常位于不同的目录中,但我认为不会有任何问题(我知道...)

    接下来,您要确保使用模板标记来表示静态文件位置,而不是使用 css/..,后者期望有一个相对于您当前查看的任何 url 的 css 目录。

    a couple template tags你可以用,我用{{ STATIC_URL }}

    所以替换

    <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
    

    <link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css" media="all" />
    

    你应该已经准备好了......

    【讨论】:

      【解决方案2】:

      您应该避免硬链接到您的静态目录。随着您的项目变大,它可能会导致混乱和潜在的问题

      请参考这里,它有你需要的一切。

      Django staticfiles app help

      【讨论】:

      • @stupidboo 正确,我尝试阅读链接但我不太明白如何去做,我通过以下示例学习得更好。你有什么可以效仿的例子吗???
      最近更新 更多