用Django提供静态文件

问题描述:

我是Django的新手,我正在努力学习如何在本地部署中提供静态文件。我已阅读this和其他许多可能的相关问题,但我似乎无法找到解决我的问题。用Django提供静态文件

这是我的设置,我无法弄清楚什么是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 

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

接下来,你要以确保您使用模板标记来表示静态文件位置,而不是使用css/..,该预计相对于您当前正在查看的任何网址,都会有一个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" /> 

代替,你应该是所有设置......

+0

@Ngentor谢谢! – user2284926 2013-05-02 03:29:00

+0

没问题,祝你好运 – Ngenator 2013-05-02 03:32:43

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

请参阅此,它具有您需要的一切。

Django staticfiles app help

+0

@stupidboo正确,我尝试阅读链接,但我没有完全得到如何做到这一点,我通过跟随学习更好示例。你有什么样的例子吗? – user2284926 2013-05-02 03:41:59