Django ====> 1.4 버전 정적 파일 경로 설정 -- MEDIAROOT,MEDIA_URL, STATIC_ROOT, STATIC_URL 학습

5822 단어 django
  • MEDIA_ROOT: 업로드된 파일을 저장하기 위해서입니다. 예를 들어 ImageField에서 이 값에 upload 를 추가합니다.to의 값은 이미지를 업로드하는 파일을 실제로 저장하는 위치입니다.Django 안의 파일 내용은 실제적으로 데이터베이스에 저장되지 않으며 대부분의 데이터베이스는 데이터 저장 효율이 낮아 파일 시스템에 저장해야 한다.PS: FileUploads(파일 저장용)
  • MEDIA_URL: URL의 매핑은 '/' 를 앞뒤로 붙여서 루트 디렉터리에서 시작합니다. 예를 들어 '/site media/' 를 표시하고 이 속성을 더하면 정적 파일의 링크 앞에 이 값을 붙입니다.
  • STATIC_ROOT: 이 파일의 디렉터리는 정적 파일로 처리됩니다.하지만 자신이 힘들게 쓴 자바스크립트나 그림 등 정적 파일을 넣을 수는 없다.
  • STATIC_URL: URL 매핑, 정적 디렉토리의 URL을 지정합니다. 기본값은 "/static/"입니다.
  • STATICFILES_DIRS: 프로젝트와 관련된 정적 파일을 저장할 디렉터리를 지정합니다. 목록입니다.만약 목록에 '/home/shishang/test/static' 이 있다면, 그 중 하나는 제품list입니다.html, 우리는 방문하기만 하면http://localhost:8000/static/productlist.html바로 인터페이스에 접근할 수 있습니다.
  • 회전: Django는 모든 정적 파일을 자동으로 함께 놓는 방법을 제공합니다.앱을 쓸 때 static 하위 디렉터리를 만들어서 정적 파일을 저장하면 됩니다.개발 단계에서 비추는 데 신경 쓸 필요가 없고 설정할 필요가 없다urls.py.생산 환경에 배치할 때 아파치/static/STATIC_ROOT에 비추기만 하면 된다.그리고 manage.py collectstatic를 실행하여 자동으로 STATICFILES_DIRS 열거된 디렉터리와 각 앱의 static 하위 디렉터리의 모든 파일을 STATIC 로 복사합니다ROOT.복제 과정은 원래의 파일을 덮어쓸 수 있기 때문에, 우리가 고생해서 만든 정적 파일을 여기에 놓아서는 안 된다.개발 단계에서 Django는 /staticdjango.contrib.staticfiles이라는 앱에 비추었다.staticfiles,STATICFILES_DIRS,STATIC_ROOT 및 각 앱의 static 하위 디렉토리에서 정적 파일을 자동으로 검색합니다.일단 개발 환경에 서명하면settings.py는 다시 작성할 필요가 없습니다. 아파치의 프로필에 맵을 쓰면 /static 아파치가 처리됩니다.django.contrib.staticfiles는 여전히 존재하지만 /static/로 시작하는 경로를 받지 않기 때문에 작용하지 않을 것이다.Django가 처리 속도가 느려질까 봐 걱정하지 마세요.또 settings.DEBUG is False일 때staticfiles는 자동으로 닫힌다.
  • 코드 예:
    #setting.py    :
    
    import os
    HERE = os.path.dirname(os.path.dirname(__file__))
    
    MEDIA_ROOT = os.path.join( HERE, "../media").replace('\\', '/')
    MEDIA_URL = "/site_media/"
    
    STATIC_ROOT = os.path.join(HERE, "../static").replace('\\', '/')
    STATIC_URL = "/static/"
    
    STATICFILES_DIRS = ( os.path.join(HERE, "../app  /static/").replace('\\', '/'), )  # STATIC_ROOT        
    #          app static   
    
    #urls.py   :
    
    from django.conf.urls.static import static
    from django.conf import settings
    
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    
    #    
    <link  type="text/css"  rel="stylesheet" href="/static/css/bootstrap.min.css"/> 
            <link  type="text/css"  rel="stylesheet" href="/static/css/bootstrap-responsive.css"/> 

     
  • 좋은 웹페이지 즐겨찾기