2010-05-25 77 views
0

我看了http://docs.djangoproject.com/en/dev/howto/static-files/已經有了,但是我仍然對如何加載css/image文件感到困惑。試圖在django中加載css /圖像

我的服務器上,images文件夾和CSS文件位於/ SRV/twingle /搜索

我urls.py

1 from django.conf.urls.defaults import * 
    2 
    3 # Uncomment the next two lines to enable the admin: 
    4 # from django.contrib import admin 
    5 # admin.autodiscover() 
    6 
    7 urlpatterns = patterns('twingle.search.views', 
    8 url(r'^$', 'index'), 
    9 url(r'^search/(?P<param>\w+)$', 'index'), 
10 
11 (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
12   {'document_root': '/srv/twingle/search'}), 
13 
14) 

我嘗試如下訪問我的CSS,

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

這正是教程所說的,但它不起作用。有什麼建議麼?

回答

3

您已經關閉了在第10行的URL模式,讓您的site_media聲明只是坐在那裏,不附加任何東西。擺脫10上額外的緊密支架。

編輯添加您還使用了前綴參數,它也被應用於靜態視圖。這樣做:

urlpatterns = patterns('twingle.search.views', 
    url(r'^$', 'index'), 
    url(r'^search/(?P<param>\w+)$', 'index'), 
) 

urlpatterns += patterns('', 
    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': '/srv/twingle/search'}) 
) 
+0

我修改了原來的urls.py在我的崗位給大家展示一下,我把根據你說什麼,但依然沒有。 – tipu 2010-05-25 15:38:42

+1

查看我的更新.. – 2010-05-25 15:43:01

+0

您的更新工作丹尼爾,謝謝。你能簡單解釋一下是怎麼回事? – tipu 2010-05-25 21:31:13

0

您應該將規則直接寫入網絡服務器配置以匹配媒體網址。 或者對靜態文件使用不同的虛擬主機。

不是在Django的配置

2

僅使用django.views.static.serve進行開發或測試。順便說一下,您的靜態文件規則不會寫爲patterns函數的參數。這是前人的精力是這樣的:

from django.conf.urls.defaults import * 

# Uncomment the next two lines to enable the admin: 
# from django.contrib import admin 
# admin.autodiscover() 

urlpatterns = patterns('twingle.search.views', 
    url(r'^$', 'index'), 
    url(r'^search/(?P<param>\w+)$', 'index'), 

    url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': '/srv/twingle/search'}), 
) 
+0

我複製粘貼你有究竟到urls.py,沒有工作 – tipu 2010-05-25 15:40:31