[PYTHON] 장고 : CSS가 작동하지 않습니다.
PYTHON장고 : CSS가 작동하지 않습니다.
나는 아직 장고에 익숙하지 않고 CSS 작업에 문제가있다. Django 정적 링크 튜토리얼, 정적 파일 처리에 관한 링크의 지시를 따랐습니다. 하지만 여전히 작동하지 않습니다.
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = '/Users/a9austin/Development/sites/AlphaSocks/src/static_root/'
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
'/Users/a9austin/Development/sites/AlphaSocks/src/staticfiles'
)
#from django.http import HttpResponse
from django.shortcuts import render_to_response
def index(request):
return render_to_response('index.html')
<link rel="stylesheet" href="{{STATIC_URL}}css/style.css" type="text/css" media="screen" >
디렉토리 구성
정말 고마워요, 당신의 도움과 시간이 많이 감사합니다!
해결법
-
==============================
1.Django가 정적 파일을 제공하려면 몇 가지 설정이 있는지 확인해야합니다.
Django가 정적 파일을 제공하려면 몇 가지 설정이 있는지 확인해야합니다.
STATIC_URL
이 설정은 정적 파일을 아래에 매핑 할 URL을 지정합니다. 이미 완료 했어.
STATICFILES_DIRS
Django가 정적 파일을 검색해야하는 시스템의 모든 폴더를 지정합니다. 아이디어는 프로젝트 내에 두 개의 앱이있을 수 있으며 각 앱마다 다른 정적 파일 세트가 필요할 수 있다는 것입니다. 따라서 조직적인 목적을 위해 각 앱에는 정적 파일 만 저장되는 정적 디렉토리가 포함될 수 있습니다. 그래서 장고는 디렉토리가 어디에 있는지 알 수있는 방법이 있어야합니다. 이것이 바로이 설정입니다.
STATIC_ROOT
이 설정은 Django가 모든 정적 파일을 어디에 복사 할지를 지정합니다. 아이디어는 일단 개발 환경을 개발 환경으로 남겨두면 Django는 여기에 가지 않을 문제로 인해 정적 파일을 더 이상 제공 할 수 없다는 것입니다 (기사에 있습니다). 그러나 프로덕션의 경우 모든 정적 파일은 STATICFILES_DIRS에 지정된 것과 달리 단일 디렉토리에 있어야합니다. 따라서이 설정은 Django가 다음의 명령을 실행하여 STATICFILES_DIRS 내의 모든 파일로부터 모든 정적 파일을 복사 할 디렉토리를 지정합니다 :
$ python manage.py collectstatic
프로덕션 환경에 들어가면 필요하며 여기에 지정된 디렉토리는 STATICFILES_DIRS에 지정된 디렉토리와 같을 수 없습니다.
Urls.py
Django가 정적 파일을 제공하도록 개발할 때 urls.py에 정적 URL을 포함시켜야합니다.
from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns = ... urlpatterns += staticfiles_urlpatterns()
일단 위의 모든 것을 완료하면 DEBUG = True 인 동안 정적 파일을 제공해야합니다. 위 목록에서 STATIC_URL 만 완료하는 것으로 보입니다. 또한 위에서 설명한 모든 단계는 질문에 링크 된 문서에 있습니다 (링크). 처음에는 약간 혼란 스러울 지 모르지만, 몇 번 읽으면 더 명확 해집니다.
-
==============================
2.응답에 RequestContext를 추가하면 템플릿에 STATIC_URL 변수가로드됩니다.
응답에 RequestContext를 추가하면 템플릿에 STATIC_URL 변수가로드됩니다.
변경해보십시오.
from django.shortcuts import render_to_response def index(request): return render_to_response('index.html')
에:
from django.shortcuts import render_to_response from django.template.context import RequestContext def index(request): return render_to_response("index.html", context_instance=RequestContext(request))
자세한 내용은 템플릿의 정적 파일 참조에 관한 장고 문서를 참조하십시오.
from https://stackoverflow.com/questions/13446325/django-css-is-not-not-working by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] [x] 대신 operator.itemgetter (x)를 사용해야하는 이유는 무엇입니까? (0) | 2018.10.26 |
---|---|
[PYTHON] django의 복합 기본 키 (0) | 2018.10.26 |
[PYTHON] "next"매개 변수 인 redirect, django.contrib.auth.login (0) | 2018.10.26 |
[PYTHON] PyMySQL은 로컬 호스트의 MySQL에 연결할 수 없습니다. (0) | 2018.10.26 |
[PYTHON] 0이 아닌 (a), (a)와 argwhere (a)의 차이점. 어느 것을 사용해야합니까? (0) | 2018.10.26 |