Ошибка NoReverseMatch в приложении django - PullRequest
1 голос
/ 08 февраля 2010

Я получаю эту ошибку в одном из моих шаблонов и не могу понять, что не так.

`NoReverseMatch: Reverse for 'getimagefile' 
with arguments '(12L, 'afN9LRzESh4I9CGe6tFVoA==\n')' and 
keyword arguments '{}' not found.

Мой urls.py содержит:

urlpatterns = patterns('myproj.myapp.views',
url(r'^getimage/(?P<extractedcontent_id>\d+)/(?P<encpw>.*)/$','getimagecontent',name='getimagefile'),
)

Мой файл views.py содержит:

def getimagecontent(request,extractedcontent_id,encpw):
........

И, наконец, мой шаблон, сообщающий мне об ошибке, содержит следующую строку:

<li class="active"><img src="{% url getimagefile img,encpw %}" title=""/></li>

Ответы [ 2 ]

1 голос
/ 08 февраля 2010

Ваша переменная encpw оканчивается символом новой строки, по умолчанию. символ регулярного выражения не захватывает их. Попробуйте изменить свое регулярное выражение, чтобы включить флаг DOTALL, который будет соответствовать символам новой строки.

url(r'(?s)^getimage/(?P<extractedcontent_id>\d+)/(?P<encpw>.*)/$','getimagecontent',name='getimagefile'),

Обратите внимание на (?s) в самом начале, это включит флаг DOTALL.

1 голос
/ 08 февраля 2010

Вы не показываете, откуда взято encpw, но похоже, что в конце он имеет символ новой строки (\n), который не будет соответствовать регулярному выражению URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...