이전에 아무런 영향을 미치지 않은 수많은 관련 솔루션을 사용해 보았습니다. 나는 분명히 뭔가를 놓친다. 나는 장고 1.4를 사용하고있다. jpeg 파일을 무작위로 생성하는 프로세스가 있습니다. 나는 동적으로 이미지를 표시 할 뷰/템플릿/templatetags의 조합을 만들려고합니다. 관련된 모델이 없습니다.Django build_absolute_uri NoReverseMatch 오류가 발생했습니다
settings.py 파일에 적절한 TEMPLATE_CONTEXT_PROCESSORS가 설치되어 있습니다. 미리 감사드립니다.
템플릿 :
{% load mytemplatetags %}
{% for fn in jpg_names %}
{{ fn|absolute_img_uri:request }}
{% endfor %}
템플릿 태그
from django import template
from django.template.loader import render_to_string
from django.core.urlresolvers import reverse
register = template.Library()
'''
Usage: {{ fn|absolute_media_url:request }}
'''
@register.filter
def absolute_img_uri(fn, request):
return request.build_absolute_uri(reverse("returnImage", kwargs={'fn':fn}))
보기 :
def returnImage(request,**kwargs):
path = "/opt/local/var/media/facstool/"
fn = kwargs['fn']
img = open(str(path)+fn,'rb').read()
response = HttpResponse(img,mimetype='image/jpeg')
return response
URL을 :
이
내가 가진 무엇import ri.tools.views as rv
urlpatterns = patterns('ri.tools.views',
url(r'^$', 'index', name="index"),
url(r'defineParameters','defineParameters',name='defineParameters'),
url(r'downloadcsv','downloadcsv',name='downloadcsv'),
url(r'downloadpdf','downloadpdf',name='downloadpdf'),
url(r'downloadZipFile','downloadZipFile',name='downloadZipFile'),
url(r'returnImage/(?P<fn>.*)',rv.returnImage,name='returnImage'),
)
* - 편집 - *
역 추적 :
NoReverseMatch at /tools/defineParameters
Reverse for 'returnImage' with arguments '()' and keyword arguments '{'fn': u'Lep-_Clone12_Median__ss_293F_Median__ss_293F_H8_graph.jpg'}' not found.
Request Method: POST
Request URL: http://localhost:8000/tools/defineParameters
Django Version: 1.4
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'returnImage' with arguments '()' and keyword arguments '{'fn': u'Lep-_Clone12_Median__ss_293F_Median__ss_293F_H8_graph.jpg'}' not found.
Exception Location: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 396
Python Executable: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Python Version: 2.7.2