2013-05-16 5 views
1

я пытаюсь повлиять на список элементов в шаблоне с помощью {% with %}{% endwith %}, но до сих пор ничего не получить в моем varibale это кодКак воздействовать на элемент Dict переменной в шаблоне Django

{% for item in data %} 
    <tr>  
    {% with value = item.user_id %} 
    {% endwith %} 
<td><a href="{% url accounts value %}"><center>{{ item.Company_name }}</center></a></td> 

я получаю это ошибка

NoReverseMatch at /filter/ 

Reverse for '' with arguments '('',)' and keyword arguments '{}' not found. 

ответ

1

Вы должны поместить имя вида в кавычках:

{% url "accounts" value %} 
+0

считает, что это работает..и думал, что мне не нужно ставить кавычки с django 1.4 – imoum

1

Перемещение {%endwith%} после </td> метки, как показано ниже.

{% for item in data %} 
     <tr>  
      {% with value = item.user_id %} 

       <td><a href="{% url accounts value %}"><center>{{ item.Company_name }}</center> 
       </a></td> 

      {% endwith %} 

Объем переменной определяется с использованием with только в пределах with блока.

+0

благодаря теперь я могу присвоить значение item.user_id, но по-прежнему получаю сообщение об ошибке Обратный для «» с аргументами «(1,)» и именованные аргументы '{}' не найдено. – imoum

+0

как вы можете видеть, я могу взять id = 1, но все еще не работает – imoum

+0

@imoum, показать URL-адреса и связанные функции просмотра. – Rohan

Смежные вопросы