good afternoon,
i new django, creating login portal, following error | csrf verification failed. request aborted.
i using django 1.8 , python 3.4 please me, if need else please let me know
here views.py:
from django.contrib.auth.forms import usercreationform django.contrib.auth.forms import authenticationform django.contrib.auth import login, authenticate, logout django.contrib.auth.decorators import login_required django.shortcuts import render_to_response django.template import requestcontext def nuevo_usuario(request): if request.method == 'post': formulario = usercreationform(request.post) if formulario.is_valid(): formulario.save() return httpresponseredirect('/') else: formulario = usercreationform() return render_to_response('registration/nuevo_usuario.html', {'formulario':formulario}, context_instance = requestcontext(request)) def ingresar(request): if request.method == 'post': formulario = authenticationform(request.post) if formulario.is_valid(): usuario = request.post['username'] clave = request.post['password'] acceso = authenticate(username=usuario, password=clave) if acceso not none: if acceso.is_active: login(request, acceso) return httpresponseredirect('/privado') else: return render_to_response('registration/noactivo.html', context_instance = requestcontext(request)) else: return render_to_response('registration/nousuario.html', context_instance = requestcontext(request)) else: formulario = authenticationform() return render_to_response('registration/ingresar.html', {'formulario':formulario}, context_instance = requestcontext(request))
este es mi archivo ingresar.html
{% extends 'base.html' %} {% block titulo %}ingresa al sistema{% endblock %} {% block encabezado %} ingresa {% endblock %} {% block content %} <div class="main"> <div class="login-form"> <h1> c. monitoring center</h1> <div class="head"> </div> <form id = 'formulario' method = 'post' action = ''> {% csrf_token %} <input type="text" class="text" placeholder="username" required autofocus> <input type="password" placeholder="password" required> <div class="submit"> <input type="submit" onclick="#" value="login" > </div> <p><a href="#">forgot password ?</a></p> </form> </div> {% endblock %}
este es mi archivo url.py
"""centinell url configuration `urlpatterns` list routes urls views. more information please see: https://docs.djangoproject.com/en/1.8/topics/http/urls/ examples: function views 1. add import: my_app import views 2. add url urlpatterns: url(r'^$', views.home, name='home') class-based views 1. add import: other_app.views import home 2. add url urlpatterns: url(r'^$', home.as_view(), name='home') including urlconf 1. add import: blog import urls blog_urls 2. add url urlpatterns: url(r'^blog/', include(blog_urls)) """ django.conf.urls import include, url django.contrib import admin login.views import * urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^$','login.views.ingresar'), url(r'^usuario/nuevo$', 'login.views.nuevo_usuario'), url(r'^ingresar/$', 'login.views.ingresar'),
]
you need csrf token django provides ... (necesitas la clave csrf q django tiene incluido)
<form id = 'formulario' method = 'post' action = ''> {% csrf_token %} <input type="text" class="text" placeholder="username" required autofocus> <input type="password" placeholder="password" required> <div class="submit"> <input type="submit" onclick="#" value="login" > </div> {% csrf_token %} <!-- this!!!!! aqui !!!--> <p><a href="#">forgot password ?</a></p> </form>
or if want can disable csrf protections (o si quierres se puede apagar los protejos de csrf)
@csrf_exempt # need import django.contrib.auth def ingresar(request):
Comments
Post a Comment