2016-10-13 6 views
0

Я Регистрация пользователя в базе данных User_Auth, но я получил CSRF_tokens ошибку ... Данные, представленные в во встроенной базе данных пользователя в DjangoНе удалось выполнить проверку CSRF. Запрос прерван в Джанго

register.html

<div class="container-fluid" style="background-color: #f2f2f2;"> 
    <div class="row"> 
     <div class="col-lg-3"></div> 
      <div class="col-lg-6 " align="center" style="margin:50px;"> 
       <h3>Register for an Account</h3> 
        <form class="form-horizontal" action="" method="post"> 
         {% csrf_token %} 
         {{form.errors}} 
         <table> 
          <tr><td>Username:<input type="text" value=""name="username"></td></tr><br> 
          <tr><td>Password: <input type="password" value=""name="password"></td></tr> 
          <!--Superuser:<select>--> 
           <!--<option value="0" name="is_superuser">0</option>--> 
           <!--<option value="1" name="is_superuser">1</option>--> 
          <!--</select>--> 
         </table> 
         <div align="center"><button type="submit" class="btn btn-success pull-right">Submit</button></div> 
        </form> 
      </div> 
     <div class="col-lg-3"></div> 
    </div> 
</div> 

views.py

def register(request): 
if request.method=='POST': 
    form = UserForm(request.POST) 
    if form.is_valid(): 
     user = User.objects.create(
      username = form.cleaned_data['username'], 
      password = form.cleaned_data['password'], 
     ) 
     user.save() 
     return HttpResponseRedirect('signin') 
else: 
    form=UserForm() 
return render(request, 'customer/register.html', {'form': form}) 

вот мой forms.py

class UserForm(forms.ModelForm): 
class Meta: 
    model = User 
    fields = ['username', 'email', 'password'] 
+1

И вы до сих пор getttings эту ошибку после того, как вы измените csrf_input? –

ответ

0

изменение

{{ csrf_input }} 

в

{% csrf_token %} 
+0

уже сделал это –

+0

убедитесь, что у вас есть токен внутри {%, not {{иначе он рассматривается как переменная, а не тег шаблона. –

+0

И обновите страницу. Посмотрите на вывод html, который отправляется в браузер (щелкните правой кнопкой мыши, проверьте элемент) и убедитесь, что он фактически получает синтаксический анализ и помещает там токен. –

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