Estoy escribiendo una pequeña aplicación en botella. Tengo algún problema conceptual, ayúdame a resolverlo

StackOverflow https://stackoverflow.com/questions/4289115

  •  28-09-2019
  •  | 
  •  

Pregunta

from bottle import  route, run, debug, error, request, template

@route('/home')
@route('/home/')
def login():
    return template('templates/login')

@route('/home', method='POST')
@route('/home/', method='POST')
def welocme():
    data = request.POST
    if data:
        password = data.get('password')
        check_pass = 'password'
        if password == check_pass:
            return template('templates/welcome')
        else:
            return template('templates/login')
    else:
        return template('templates/login')

Mi requisito es: obtendré una página de inicio de sesión y bienvenido en la misma URL. La página de inicio de sesión solo tiene un campo de contraseña.

Mi problema: si recibo inicio de sesión y vaya a la página de bienvenida nuevamente en la actualización, me envía a la página de inicio de sesión. Pero idealmente debería estar solo en la página de bienvenida.

@error(404)
def error404(error):
    return 'http://google.com'

Mi segundo problema: quiero redirigir en una URL en particular en 404.

¿Fue útil?

Solución

Si el usuario va a la página "/Inicio", ¿no desea verificar si están iniciadas antes de mostrarles la pantalla de inicio de sesión? Parece que supone que aún no están conectados si el método HTTP no está publicado.

No sé mucho sobre su marco, pero supongo que si el inicio de sesión es exitoso, debe establecer una cookie, y luego debe verificar la cookie para HTTP puede ver si el usuario está autenticado.

Otros consejos

Tu segunda pregunta es respondida aquí.

Es posible que también desee echar un vistazo a Sesiones de galletas de vasos y use eso para mantener el estado de su aplicación entre las solicitudes.

Si entiendo la pregunta correctamente, la única forma de obtener la plantilla de bienvenida es a través de la publicación.

Puede cambiar esto para que obtenga solicitudes verifique si alguien ha iniciado sesión. Si eso falla, redirigirlos a la página de inicio de sesión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top