python - ejemplos - django
Cherrypy: No puedo obtener mis datos POST (2)
No sé si root.processform es algo especial en CherryPy, si no es necesario que exponer una página process_form
@cherrypy.expose()
def process_form(self, email, login,password):
...stuff...
Puedo estar olvidando algo
Escribo una pequeña aplicación web con CherryPy. Pero tengo un problema: no puedo obtener mis datos de POST, pero GET está bien. Alojado en el host local (Win 7), visto con Opera 10, usando el servidor incorporado CherryPy.
Aquí hay un código:
class Expose:
def __init__(self, fn):
self.fn = fn
@cherrypy.expose()
def index(self, login=None):
print ''LOGIN: '' + str(login)
return self.fn(login=login)
import auth
root.process_form = Expose(auth.process_form)
Este es mi interruptor de URL. LOGIN imprime None si el formulario usa POST y el valor adecuado para GET. Aquí está mi formulario (plantilla):
<!DOCTYPE html>
<body>
<p>Create new user</p>
<form action="/process_form" method="post">
<input type="text" name="login" value="login" />
<input type="text" name="email" value="[email protected]" />
<input type="text" name="password" value="123" />
<input type="submit" />
</form>
</body>
No puedo adivinar qué va mal. ¿Qué puedo verificar?
Prueba con:
<!DOCTYPE html>
<body>
<p>Create new user</p>
<form action="/process_form/" method="post">
<input type="text" name="login" value="login" />
<input type="text" name="email" value="[email protected]" />
<input type="text" name="password" value="123" />
<input type="submit" />
</form>
</body>
Tenga en cuenta la barra final en "/ process_form /