2011-10-10 90 views
0

我正在設置一個初學者django應用程序,我無法使其顯示靜態內容。 (css和jpg)文件。文檔很混亂,我需要一些非常基本的幫助。無法在Django中加載靜態內容

我的靜態文件位於:'/ home/me/django_projects/myproject/site_media'。在這裏有目錄:'圖像'和'css'

我得到一切靜態404錯誤。即使我嘗試直接從拉文件:http://localhost:8000/site_media/images/test_image.jpg

這裏是我是應該觸發靜態內容的HTML代碼:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta name="keywords" content="" /> 
<meta name="description" content="" /> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<title>Django Test </title> 
<link href="{{ STATIC_URL }}/css/style.css" rel="stylesheet" type="text/css" media="screen" /> 
</head> 
<body> 
    This is my body... blah blah blah 
    <p>Here is an image: <img src="{{ MEDIA_URL }}images/media.jpg" alt="Foobar" /> 
</body> 

下面是我的設置文件。我已經嘗試了我能想到的各種媒體和靜態配置組合。有沒有人看到我在這裏做錯了?

文件:settings.py

# Example: "/home/media/media.lawrence.com/media/" 
MEDIA_ROOT = '/home/me/django_projects/myproject/site_media/' 
MEDIA_URL = '/media/' 
ADMIN_MEDIA_PREFIX = '/admin_media/' 
STATIC_ROOT = '' 
STATIC_URL = '/static/' 
STATICFILES_DIRS = (
    "/home/me/django_projects/myproject/static", 
) 

# List of finder classes that know how to find static files in 
# various locations. 
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 

#... 
INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'django.contrib.admindocs', 
    'jim', 
) 

文件:urls.py

urlpatterns = patterns('', 
    (r'^customers/$', 'jim.views.index'), 
    (r'^customers/(?P<customer_id>\d+)/$', 'jim.views.detail'), 
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/media'}), 
    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/media'}), 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
) 

有誰看到什麼錯嗎?

回答

0

看起來你可能有兩個正斜槓:

STATIC_URL = '/static/' 
"{{ STATIC_URL }}/css/style.css" 

會給你

"/static//css/style.css" 

在瀏覽器中查看頁面的源代碼,並瞭解URL被寫入

+0

非常感謝!這和我以下使用媒體錯誤的事實幫助了一個捆綁。現在一切正常。 – codingJoe