2013-03-26 2 views
1

장고 사이트를 개발 중입니다. 일련의 편집을 마친 후 갑자기 서버가 다시 가동되었습니다. 서버는 물론 html 사이트를 표시하지만 사이트 전체에서 CSS는 404 오류를 발생시킵니다. 내 settings.py에서 내 정적 파일 정보가 전혀 편집되지 않은 :장고 : CSS는 404를 반환합니까?

<link rel="Stylesheet" type="text/css" href="{{ STATIC_URL }}css.css" /> 

그리고 마지막으로, 물론 :

import os 
# hack to accommodate Windows 
CURRENT_PATH = os.path.abspath(os.path.dirname(__file__).decode('utf-8')).replace('\\', '/') 

STATIC_URL = '/static/' 

# Additional locations of static files 
STATICFILES_DIRS = (
    os.path.join(CURRENT_PATH, 'static'), 
) 

내 기본 템플릿은 정적 파일 디렉토리를 기반으로 파일에 대한 간단한 전화를하지

-project- 
    settings.py 
    -static- 
     css.css 
    -templates- 
     base.html 
     index.html 

난 단지 인덱스의 위치를 ​​제공했습니다, 여기에 내가 생각하기 때문에 오류가 디렉토리 문제의 일종이다, 내 관련 디렉토리 구조의 빠른 고장입니다 .html하지만 물론 템플릿 폴더는 다양한 템플릿/페이지 용 디렉토리로 채워져 있습니다.

문제를 해결하거나 답변을받을 때이 질문을 정보로 업데이트 해 두겠습니다.

+0

CSS URL은 어떻게 보이나요? dev 서버 또는 다른 것을 사용합니까? – wRAR

+1

DEBUG 변수를 False로 설정 했습니까? – PepperoniPizza

+0

필자는 쉘 서버를 사용하기 때문에 색인을 반환하는 localhost : 8000을 호출하면 css url과 오류는 단순히'/css.css/ HTTP/1.1 "404'입니다. 그래도 좀 더 자세하게 설명하면'/category/earrings/css.css HTTP/1.1 "'이다. 두 번째 레벨은 templates 디렉토리의 자체 디렉토리에있는 "category.html"에서 가져옵니다. – fildred13

답변

1

개발 플랫폼에서 작동하는 정적 URL을 얻으려면해야 할 일이 많이 있습니다.

이렇게하려면이 링크를보고 검토하는 것이 좋습니다. https://docs.djangoproject.com/en/dev/howto/static-files/

이뿐 아니라보기에서 요청 컨텍스트도 반환해야합니다.

urls.py 파일 내에서 줄을 추가해야합니다.

urlpatterns += staticfiles_urlpatterns() 

이 줄을 사용하면 개발 서버 내의 URL 모듈에서 정적 파일을 제공 할 수 있습니다.

os.path.join 코드 내에 변수가 있음을 확인했습니다. 기본 장고 설치를 사용하는 경우 os.path.join은 이미 개발 디렉토리를 가리키고 있습니다.

당신은 사용할 수 있어야합니다 :

# Additional locations of static files 
STATICFILES_DIRS = (
    os.path.join('static'), 
) 

참고 : STATIC_URL 변수를 채워야하는이가 필요로 또한, 귀하의 의견은 요청 컨텍스트를 반환되어 있는지 확인합니다.

{% load static from staticfiles %} 
<link rel="Stylesheet" type="text/css" href="{% static "css.css" %}"/> 

이 장고 1.7에서 호출 정적 파일에 대한 올바른 방법은 다음과 같습니다 마찬가지로, 당신은이 있는지 확인 모든 TEMPLATE_CONTEXT_PROCESSORSsettings.py 파일이 솔루션은

+0

잠시 후에 다른 정보와 함께 링크를 살펴 보겠다. 그러나 나는 정적 파일이 단지 작동하고 있다고 지적해야한다. 몇 시간 전에는 정적 파일 경로와 전혀 관련이없는 자료를 편집하는 동안 이상한 일이 발생했습니다. 또한,'url (r '^ static/(? P . *) $', 'django.views.static.serve', { 'document_root': 'C :/Users/Sean/Dropbox/Website/ecomstore/ecomstore/static '}), – fildred13

+0

CSS 파일 위치로 바로 이동 했습니까? 오류 메시지가 표시 될 수 있습니다. 나는 또한 당분간 settings.py 내에서 os.path.join을 제거하고 전체 윈도우 경로를 사용하여 이것을 배제 할 것이다. 마지막으로 정적 URL 객체를 채우는 데 필요한보기가 요청 컨텍스트를 반환하는지 확인합니다. –

+0

배포 할 때 그 또는 다른 변수를 업데이트 할 필요가 없도록 내 STATICFILES_DIRS에 변수를 사용하고 있습니다. 당신의 솔루션과 광산이 다른 목적으로 같은 목표를 달성하지 못합니까? 또는 나는 무엇인가 놓치고 있냐? – fildred13

0

에 추가.

+0

Django 1.7이 (가)이 질문에 대한 답을 얻지 못하면 릴리스되지 않았으므로 날짜를 확인하십시오. 즉, 1.7에서 정적 파일을 호출하는 올바른 방법 일 수 있지만 문제가 원격으로 해결되지는 않습니다. 첫 번째 대답의 주석에서 볼 수있는 것은 문제가 해결되지 않은 컨텍스트 프로세서 였음을 설명합니다. – fildred13