在Django中使用url参数时找不到CSS + JS文件(404)

时间:2013-05-26 12:40:19

标签: javascript python html django

我创建了一个显示一些图表的仪表板页面。

页面会自动每隔一小时刷新一次图形数据。

页面的URL是:

http://localhost/dashboard

我不想让用户选项声明一次刷新到另一次刷新之间的空闲时间 网址的一部分

类似的东西:

http://localhost/dashboard/refresh/60

http://localhost/dashboard/?refresh=60

我选择从第一个网址选项开始:

我修复了urls.py文件:

url(r'^dashboard/refresh/(?P<refresh>\w+)$', 'management.static_views.dashboard'),

和static_views.py一样:

def dashboard(request,refresh=None):

"""  
Dispaly the dashboard for
"""
if refresh:
        print refresh
return render_to_response('dashboard.html')

一切正常,我得到刷新参数。 当页面加载并尝试从服务器获取css和JS文件时,问题就开始了。

我在chrome日志中遇到此错误:

GET http://localhost/dashboard/css/dashboard.css 404 (NOT FOUND) 

在Django服务器中我看到了这个日志:

GET /dashboard/css/dashboard.css HTTP/1.1" 404 1703

在html文件中,css的链接标记如下所示:

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

当我使用刷新参数而未加载时,为什么css加载正常?

感谢。

1 个答案:

答案 0 :(得分:1)

你需要告诉Django dashboard.css是一个静态文件,否​​则它是相对于当前网址加载的。

# template file
{% load staticfiles %}
<link media="all" rel="stylesheet" type="text/css" href="{% static "css/dashboard.css" %}"/>