2011-11-05 2 views
-2

나는 내 탐색 모음에 대해 다음과 CSS 코드가 : 내 지역 개발 서버를 시작할 때배경 : CSS의 URL이 장고와 작동하지 않는 이유는 무엇입니까?

#footer-navigation { 
    background: #1841c8 url('../images/nav_background.gif'); 
    height: 40px; 
    padding: 0 0 0 20px; 
} 

는, 그것이 나에게주는 이미지가 해당 위치에있는 경우에도 다음

"GET /images/nav_background.gif HTTP/1.1" 404 1795 

Django 1.3.1을 실행 중이며 django.views.static.serve를 사용하고 있습니다.

+1

메신저 이미지가 /images/nav_background.gif에없는 것이 확실합니다. – meo

+0

이미지를 요청할 때 404가 표시되는 것을 놓쳤습니다. localhost : 8000/images/nav_background.gif로 이동하면 이미지가 나타 납니까? –

+0

확인했는데 나타나지 않습니다. 명명 오류입니다. images 폴더의 파일 이름에는 "_"대신 "-"가 표시됩니다. – ArKitect

답변

1

이미지의 삶 어디에 설정에 MEDIA_ROOT을 설정하려고하고

{{ MEDIA_URL }}nav_background.gif

편집 사용

야쿱 Gocławski이 권리입니다. 문제는 그것이 존재한다고 생각하는 곳에 이미지가 존재하지 않는다는 것입니다. 문제가 계속되는 경우 localhost : 8000/<을 방문했을 때 얻는 정보를 알려주십시오>.

+1

나는 Django 템플릿이 아니라 CSS 파일에 관한 것이라고 가정합니다. 'MEDIA_ROOT'는 CSS 파일에서 작동하지 않습니다. –

3
"GET /images/nav_background.gif HTTP/1.1" 404 1795 

사용하려는 이미지를 찾을 수 없습니다.

이 단계 시도 할 수 있습니다 :

  1. 는 settings.py를 열고

    • 은 파일의 첫 번째 줄이 추가

      나는 당신이 다음 단계를 수행 할 제안
      import os.path 
      
    • STATIC_ROOT의 값을

      로 변경하십시오.
      STATIC_ROOT = os.path.join(PROJECT_DIR, 'static/') 
      
    • 변경하여 STATIC_URL의 값에 :

      STATIC_URL = '/static/' 
      
  2. 프로젝트 루트에 "정적"라는 이름의 폴더를 만듭니다.

  3. css, javascript 등과 같은 정적 파일을위한 폴더를 만드십시오. 다른 유형의 파일에 대해 다른 폴더를 사용하는 것이 좋습니다. 가져 오기 설정
  4. 의 URL 패턴이 추가 :

    (r'(?:.*?/)?(?P<path>(css|jquery|jscripts|images)/.+)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT }), 
    
  5. 참고 :

    • 이 당신의 수입이 추가 프로젝트의 urls.py를 열기 이 예제에서는 내 정적 폴더 내에 css, jquery, jscripts 및 images라는 폴더가 있습니다.

    • 템플릿에서이 추가 : CSS 파일에 대한

:

: 자바 스크립트에 대한

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

(이 예에서는이 default.css는 CSS 파일의 이름입니다)

<script type="text/javascript" src="/{{ STATIC_ROOT }}jquery/jquery.js"></script> 

코드를 다음으로 변경하십시오.

#footer-navigation { 
background: #1841c8 url(images/nav_background.gif); 
height: 40px; 
padding: 0 0 0 20px; 
        } 
+0

Django11에서는''django.views.static.serve ''가 허용되지 않으므로 point 4는 작동하지 않습니다. 대신'django_views' 및'url (r :? :. *? /)? (? P (css | jquery | jscripts | images) /.+) $ 'django_views.static로 django import views에서하십시오. serve, { 'document_root': settings.STATIC_ROOT}),'' – J0ANMM

관련 문제