用django提供静态文件

时间:2013-05-02 02:01:34

标签: django

我是Django的新手,正在尝试学习如何在本地部署中提供静态文件。我已经从stackoverflow读过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

2 个答案:

答案 0 :(得分:0)

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

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

Django staticfiles app help

答案 1 :(得分:0)

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

接下来,您要确保使用模板标记来表示静态文件位置,而不是使用css/..,该css期望相对于您当前正在查看的任何网址存在<link rel="stylesheet" href="css/style.css" type="text/css" media="all" /> 目录

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

所以替换

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

{{1}}

你应该全力以赴......