2010-07-12 4 views
0

을 표시 : Python images display파이썬 이미지가 여기 내 마지막 질문부터 장고

나는 모든 해답에서 나는 glob.glob 내가 필요로하는 방향으로 하나가 될 수있어 것을 이해했다.

내가 glob.glob 사용하여 내 미디어 디렉토리에있는 모든 파일 이름을 가진 목록을 만들 수 있습니다 : 내가 지금 끼 었어 그러나

는 여기

all = glob.glob("/Path_to_MEDIA/*/*.jpg") 

를하지만 그 방법을 사용할 수 있습니다 내 MEDIA_ROOT에있는 파일을 호출하고 표시하는 다음 버튼이있는 매우 간단한 이미지 디스플레이를 만듭니다.

내가 알고있는 것은 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
    <meta http-equiv="Content-Language" content="en-us" /> 
    <meta name="robots" content="NONE,NOARCHIVE" /> 
    <title>Index of {{ directory }}</title> 
    </head> 
    <body> 
    <h1>Index of {{ directory }}</h1> 
    <ul> 
     {% ifnotequal directory "/" %} 
     <li><a href="../">../</a></li> 
     {% endifnotequal %} 
     {% for f in file_list %} 
     <li><a href="{{ f|urlencode }}">{{ f }}</a></li> 
     {% endfor %} 
    </ul> 
    </body> 
</html> 
내가보기에 데프을 만들 필요가
  • 이리스트 :

    1. 나는 기본 디렉토리 인덱스 같이 보입니다 템플릿을 glob.glob에서 this 또는 이와 유사한 템플릿으로

    내가 해달라고 무엇을 알고

    • 어떻게보기에이 데프 모양을해야합니까?

    그리고 여기 :

    • 내가 브라우저에서 하나 개의 이미지, 사운드를 표시하기 위해 작성해야합니까?
    • 이미지, 소리 목록을 표시하려면 무엇을 작성해야합니까?

    시간 내 주셔서 감사합니다.

  • 답변

    0

    urls.py에서 별도의 컨텍스트와의 직접 - 투 - 템플릿 URL을 확인 :

    myfiles 위이 당신의 파일 목록/튜플
    from django.views.generic.simple import direct_to_template 
    ... 
    url(r'^whatever', direct_to_template, 
           { 'template':'foo.html', 'extra_context': {'files':myfiles} } 
           name='whatever'), 
    

    . 그러나 MEDIA_PATH를 기반으로하지 말고 MEDIA_URL 측면에서 파일 목록을 형식화하십시오. 예 :

    myfiles = [ 'relative/path/foo.jpg', 
          'http://static.mysite.com/absolute/path/bar.jpg' ] 
    

    명백히 하드 코드 된 목록이 아닌 파일 시스템에서 생성됩니다. 그리고 당신은 오히려 직접 - 투 - 템플릿을 사용하여보다보기에서 작업을 할 수 - 당신의 상황에 파일의 키/값을 넣어해야합니다 : 템플릿 foo.html을에,

    def myview(request ...): 
        context = RequestContext(request) 
        context[files]=myfiles 
        return render_to_respone(..., context_instance=context) 
    

    다음 :

    {% for file in files %} 
        <img src='YOUR_MEDIA_URL_HERE/{{ file }}' /> 
    {% endfor %} 
    
    +0

    고마워요! 흥미 롭 군. 그리고 myfiles는 어디에 지정되어 있습니까? Model.py의 views.py에서 def.py 모델을 사용합니까? – MacPython

    +0

    상단 블록은 urls.py에 있으므로 myfiles도 거기에서 채울 수 있습니다. 블로그의 경우 여러 가지보기간에 공유되므로 '최고 뉴스'가 계산됩니다.그러나 다른 곳에 넣고 거기에 부칠 수 있습니다. 또는 원한다면 일반 뷰 작업을 수행하는 대신 자신 만의 뷰를 작성하고 컨텍스트에 파일 키/값을 추가해야합니다. – eruciform