URL Django - поймал NoReverseMatch при рендеринге - PullRequest
3 голосов
/ 17 августа 2011

Я столкнулся с этой ошибкой при попытке использовать URL-тег для ссылки на представление. Ошибка возникает в этой строке:

{% for algorithim in algorithims %}

в шаблоне.

Не совсем уверен, где я иду не так ... Я думаю, что приложил всю необходимую информацию, но дайте мне знать, если вам нужно что-то еще увидеть.

Ошибка:

TemplateSyntaxError at /wiki/algorithims/
Caught NoReverseMatch while rendering: Reverse for 'wiki.views.algorithim.view' with arguments '(0,)' and keyword arguments '{}' not found.

url.conf (вики):

   from django.conf.urls.defaults import *

   urlpatterns = patterns('wiki.views',
       url(r'^$', 'index'),
       url(r'^algorithims/$', 'algorithims.index'),
       url(r'^algorithims/(?P<alg_id>\d+)/$', 'algorithims.view')
    )

wiki.views.algorithim:

@login_required
def index(request): 
    algorithims = Algorithms.objects.all()
    return render_to_response('wiki/algorithims/index.html', 
                          {'algorithims': algorithims 
                           },
                          context_instance=RequestContext(request)) 

templates / wiki /gorithims / index.html:

{% extends "wiki/base.html" %} 

{% block content %}
<div>
    {% if algorithims %}    
        {% for algorithim in algorithims %}
            <a href="{% url wiki.views.algorithim.view algorithim.alg_id %}">{{ algorithim.alg_name }}</a>
        {% endfor %}
    {% else %}
        No algorithims found!
    {% endif %}
</div>
{% endblock %}

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

Ваше представление называется algorithms.view в urlconf, но вы упомянули его в теге URL как algorithm.view, то есть без s.

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