Foros del Web » Programando para Internet » Python »

Error al pasar parámetro en Django

Estas en el tema de Error al pasar parámetro en Django en el foro de Python en Foros del Web. Hola chicos de forosdelweb, estoy haciendo un formulario buscar dentro de mi aplicación y que al encontrar los datos me permita modificarlos; todo me funciona ...
  #1 (permalink)  
Antiguo 07/08/2010, 21:17
 
Fecha de Ingreso: octubre-2004
Ubicación: COLOMBIA
Mensajes: 240
Antigüedad: 20 años, 1 mes
Puntos: 3
Pregunta Error al pasar parámetro en Django

Hola chicos de forosdelweb, estoy haciendo un formulario buscar dentro de mi aplicación y que al encontrar los datos me permita modificarlos; todo me funciona bien si en el buscar.html coloco
Código HTML:
Ver original
  1. <a href="editartipo/?q={{ dato.id|escape }}">{{ dato.nombre|escape }}</a>
Pero mi vista debería recibir el parámetro por url friendly y lo hago de esta forma.
Código HTML:
Ver original
  1. <a href="{% url gastoGasolina:editar_tipo %}{{ dato.id|escape }}">{{ dato.nombre|escape }}</a>
Pero me saca este error.
Caught NoReverseMatch while rendering: Reverse for 'editar_tipo' with arguments '()' and keyword arguments '{}' not found.

La vista la manejo de esta forma:
Código Python:
Ver original
  1. #urls.py
  2. url(r'^editartipo/(?P<tipo_id>\d+)/$', 'gastoGasolina.gasto.views.editartipo', name="editar_tipo"),
  3.  
  4. #views.py
  5. def editartipo(request, tipo_id):
  6.     if request.method == 'POST': # Si el formulario ha sido guardado
  7.         form = GastoTipoFormu(request.POST) # A form bound to the POST data
  8.         if form.is_valid(): # Todas las reglas de validacion pasan
  9.             nombre = form.cleaned_data['nombre']
  10.             form.save()
  11.             #return HttpResponseRedirect('/gracias/')
  12.             html = """<html><body>Tipo Guardado => %s.
  13.                        <script>document.location.href='/buscartipo/?s=%s';</script>
  14.                      </body></html>""" % (nombre, nombre)
  15.             return HttpResponse(html)
  16.     else:
  17.         #query = request.GET.get('q', '')
  18.         a = GastoTipo.objects.get(pk=tipo_id)
  19.         form = GastoTipoFormu(instance=a)
  20.     return render_to_response('indexar.html', {
  21.         'form': form,
  22.     })
Alguién me podría decir que estoy haciendo mal.

Gracias
__________________
Revista Código Latino
SoloCodigo
  #2 (permalink)  
Antiguo 08/08/2010, 21:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Error al pasar parámetro en Django

No estoy muy familiarizado con django, pero buscando un poco en un mail list. Encontré alguien con tu mismo error aquí.

Al parecer tenia un problema con las urls.
  #3 (permalink)  
Antiguo 09/08/2010, 07:02
 
Fecha de Ingreso: octubre-2004
Ubicación: COLOMBIA
Mensajes: 240
Antigüedad: 20 años, 1 mes
Puntos: 3
Respuesta: Error al pasar parámetro en Django

No está muy bien explicado en el mensaje que me pasaste pero me dió la idea este post de la misma línea http://www.mail-archive.com/django-u.../msg94444.html entonces cuadre el url de esta forma en urls.py
Código Python:
Ver original
  1. url(r'^editartipo/(?P<tipo_id>\d+)', 'gastoGasolina.gasto.views.editartipo', name="editar_tipo"),
__________________
Revista Código Latino
SoloCodigo

Etiquetas: django, pasar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.