2014-10-29 15 views
0

У меня есть следующий Джанго formset, представленные в шаблоне:Джанго CSRF токен отсутствует или неправильно ошибка, но она включена

<form method="post" action=""> 
        {% csrf_token %} 
        {{ formset.management_form }} 
        {% csrf_token %} 
         <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
          {% for form in formset %} 
          {% csrf_token %} 
          <tr> 
          <th>My Activities</th> 
          <th>Duration</th> 
          <th>Log</th> 
          </tr> 
          <tr> 
          <td>{{ form.instance.activity.name }}</td> 
          <td><input type="text" class="minutesinput"> Minutes</td> 
          <td> 
           <div class="actvty_log_entry"> 
            <input type="submit" value="Log Entry"> 
           </div> 
          </td> 
          </tr> 
          {% endfor %} 
         </table> 
         </form> 

Когда я отправить форму, я получаю ошибку:

Forbidden (403) 
CSRF verification failed. Request aborted. 

Примечание: мои обычные формы работают во всех моих других представлениях и активируются промежуточное ПО.

+1

Итак, вы посмотрели текст на этой странице ошибок, объясняющий обстоятельства, которые могут произойти? Может ли это быть здесь? Обычной проблемой является отказ в использовании RequestContext при визуализации шаблона. –

+0

Почему у вас есть csrf_token 3 раза в форме? – karthikr

ответ

0

Проблема была в том, что я использовал рендер для ответа вместо:

return render(request, 'customers/password-change.html', context) 

Изменение на вышеописанное. Спасибо за подсказку @ Daniel Roseman

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