FormAwsValidation() missing 1 required positional argument: 'request'

1,169 views
Skip to first unread message

Tomas Garijo

unread,
Jan 3, 2018, 11:23:18 AM1/3/18
to Django-es
Hola a todos, me presento: me llamo Tomas y soy nuevo en el framework django, asi que espero aprendery poder contribuir.

Llevo toda la mañana intentando resolver este error pero no doy con el, si alguien me puede echar una mano..... Gracias



Tengo este formulario

{% extends "./base.html" %}
{% load bootstrap3 %}
{% block title %}
   
Speccode
{% endblock %}

{% block Titulo %}
   
<h1>Speccode</h1>
    <h3>Today: {{ fecha_actual }}</
h3>

{% endblock %}


{% block content %}
 
{% if form.errors %}
   
{% block error %}
       
<p style="color:Tomato;">Please resolv next</p>
    {% endblock %}
  {% endif %}

  <form action="" method="post">
      {% csrf_token %}
      {{ form.as_table}}
    <input type="submit" value="Send" /
>
 
</form>
{% endblock %}


La vista
def FormAwsValidation(request):
   
if request.method == 'POST':
        form
= FormAwsValidation(request.POST)
       
if form.is_valid():
           
return HttpResponseRedirect('/fecha_actual/')
   
else:
        form
= FormAwsValidation()

   
return render(request, 'infrastructure/FormAwsValidation.html', {'form': form})

La clase del formulario:

from django import forms

class FormAwsValidation(forms.Form):
    awsaccesskeyid
= forms.CharField()
    awssecretaccesskey
= forms.CharField()
    region
= forms.CharField()


La url:
from django.urls import path, include
from . import views

urlpatterns
= [
    path
('', views.fecha_actual),
    path
('FormAwsValidation', views.FormAwsValidation),
]





Y el error


TypeError at /FormAwsValidation FormAwsValidation() missing 1 required positional argument: 'request'
 
 
Request Method: GET
 
Request URL: http://127.0.0.1:8000/FormAwsValidation
 
Django Version: 2.0
 
Exception Type: TypeError
 
Exception Value: FormAwsValidation() missing 1 required positional argument: 'request'
 
 
Exception Location: c:\development\python\development\cloud\infrastructure\views.py in FormAwsValidation, line 15
 
Python Executable: C:\development\python\development\cloud\amazon\Scripts\python.exe
 
Python Version: 3.6.4
 
Python Path: ['c:\\development\\python\\development\\cloud',
 
'C:\\development\\python\\development\\cloud\\amazon\\Scripts\\python36.zip',
 
'C:\\Program Files (x86)\\Python36-32\\DLLs',
 
'C:\\Program Files (x86)\\Python36-32\\lib',
 
'C:\\Program Files (x86)\\Python36-32',
 
'C:\\development\\python\\development\\cloud\\amazon',
 
'C:\\development\\python\\development\\cloud\\amazon\\lib\\site-packages']
 
 
Server time: Wed, 3 Jan 2018 13:43:57 +0100


si remplazo por:
form = FormAwsValidation(request)


el error es este


maximum recursion depth exceeded in comparison
 
Request Method: GET
 
Request URL: http://127.0.0.1:8000/FormAwsValidation
 
Django Version: 2.0
 
Exception Type: RecursionError
 
Exception Value: maximum recursion depth exceeded in comparison
 
 
Exception Location: c:\development\python\development\cloud\infrastructure\views.py in FormAwsValidation, line 10
 
Python Executable: C:\development\python\development\cloud\amazon\Scripts\python.exe
 
Python Version: 3.6.4
 
Python Path: ['c:\\development\\python\\development\\cloud',
 
'C:\\development\\python\\development\\cloud\\amazon\\Scripts\\python36.zip',
 
'C:\\Program Files (x86)\\Python36-32\\DLLs',
 
'C:\\Program Files (x86)\\Python36-32\\lib',
 
'C:\\Program Files (x86)\\Python36-32',
 
'C:\\development\\python\\development\\cloud\\amazon',
 
'C:\\development\\python\\development\\cloud\\amazon\\lib\\site-packages']
 
 
Server time: Wed, 3 Jan 2018 13:52:41 +0100

Tomas Garijo

unread,
Jan 3, 2018, 11:46:43 AM1/3/18
to Django-es

Pues todo el problema venia porque la clase del formulario se llamaba igual que la funcion de la vista, cambiado el nombre de la clase formulario y todo se soluciono.

Gracias.

Edwin Diaz

unread,
Feb 17, 2018, 1:21:22 AM2/17/18
to Django-es
realmente te lo agradezco yo también tenia ese problema y exactamente esa fue la solución
Reply all
Reply to author
Forward
0 new messages