2014-10-13 2 views
0

이 내 웹 사이트 디렉토리입니다있는 정적 파일 : 나는 내 settings.py에장고 개발 서버 1.7 약간 다른 디렉토리 설정

django_project 
    \bin 
    \include 
    \lib 
    \src 
     \django_project 
      settings.py 
     \app2 
     manage.py 
    \static 
     \js 
     \css 
     \media 
    \templates 
     base.html 

을 추가 한 무엇이다 :

STATIC_URL = '/static/' 

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(BASE_DIR), "templates"), 
) 

if DEBUG: 
    MEDIA_URL = '/media/' 
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static"), 
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media"), 
    STATICFILES_DIRS = (
     os.path.join(os.path.dirname(BASE_DIR), "static"), 
    ), 

내 URL에

. py :

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

그리고 헤이, 작동하지 않습니다. 내가 base.html에서 언급 한 방식은 다음과 같습니다.

<link href="/static/css/bootstrap.min.css" rel="stylesheet"> 

아이디어가 있습니까?

감사합니다. Hasan

+2

코드에는'if DEBUG :'블록에 몇 개의 후행 쉼표가 있습니다. 또한 나는 여분의 urlpatterns가 필요하다고 생각하지 않는다. (나는 이것들을 사용하지 않는다.) –

+0

알아 냈고 실제로 후행 쉼표와 디렉토리 이름에 문제가있다. 오전 2시이고 오늘은 제 생일입니다. 그래서 지금은 침대에 가서 내일은 대답 할 예정입니다. –

답변

1

먼저 @r --------- k 언급했듯이, 튜플을 제외하고는 쉼표가 없어야합니다. 그래서 settings.py은 다음과 같은 모양입니다 :

if DEBUG: 
    MEDIA_URL = '/media/' 
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static") 
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media") 
    STATICFILES_DIRS = (
     os.path.join(os.path.dirname(BASE_DIR), "static", "static") 
    ), 

그리고 두 번째 것은 당신이 알 수 있으므로, STATIC_ROOT 및 STATICFILES_DIRS 가능성이 동일한 값을 가질 수 있다는 것입니다. 나는 정적 폴더 안에 또 다른 정적 폴더를 추가하고 그 안에 내 JS 및 CSS 폴더를 넣어 마지막으로

django_project 
    \bin 
    \include 
    \lib 
    \src 
     \django_project 
      settings.py 
     \app2 
     manage.py 
    \static 
     \static 
      \js 
      \css 
     \media 
    \templates 
     base.html 

, 당신은 당신의 URL에있는 urlpatterns이 있어야합니다

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(BASE_DIR), "static", "static") 
), 

디렉토리는 것 같습니다. py :

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
1

붙여 넣기 한 설정을 실행하면 오류 ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting이 표시됩니다. 설정에 주석 달기 os.path.join(os.path.dirname(BASE_DIR), "static"),이 오류를 제거했으며 템플릿에서 URLs.py 수정없이 CSS 파일을 올바르게 발견했습니다.

+0

이 구성에서는 ImproperlyConfigured 오류가 표시되지 않습니다. 그리고 urls.py 수정이 있어도 찾지 못합니다. html을 볼 때는 찾지 만 개발 서버에서는 볼 수 없습니다. 하지만 고마워. 내 디렉토리를 구성하는 올바른 방법은 무엇입니까? –

+1

방금 ​​알아 냈습니다. 실제로 후행 쉼표에 문제가 있으며 디렉토리 명명 때문에 ImproperlyConfigured 오류가 발생합니다. 다른 모든 것들이 필요합니다. 벌써 오전 2 시가되어 오늘은 내 생일입니다. 그래서 지금은 침대에 가서 내일은 대답 할 예정입니다 :) –