Registro/login usando django-registration

  
4 de Junio de 2014   0  

El registro de usuarios y el inicio de sesión es uno de los módulos o aplicaciones más desarrollados en los proyectos. Django nos brinda un paquete del cuál describiremos en este tutorial para realizar el registro e inicio de sesión de forma rápida y con las principales características integradas.

 

Django-registration:

Es una aplicación muy simple pero que se puede extender en nuestros proyectos y adaptarla a nuestros requerimientos. Puede configurarse para permitir:

  • Registro en dos fases; se le envía al usuario un email de confirmación para validar la cuenta.
  • Registro de una fase; el usuario se registra y su cuenta queda activa, sin requerir un email de confirmación.

Instalación

pip install django-registration

Instalar aplicación en SETTINGS

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.sites',
    'registration',
    # otras aplicaciones instaladas
)

ACCOUNT_ACTIVATION_DAYS = 7

ACCOUNT_ACTIVATION_DAYS: Define los días que permanecerá activo el enlace de activación antes de caducar.

Agregar URL

Nuestro siguiente paso sería agregar las URL:

url(r'^accounts/', include('registration.backends.default.urls')),

Incluir Templates

Los templates o archivos html podemos incluirlos dentro de template en un directorio llamado registration. Pueden utilizar unos templates base en: github, algunos de los archivos que podemos encontrar son:

  • login.html: template para el formulario de inicio de sesión.
  • logout.html : template para el cierre de sesión.
  • activation_email.txt : mensaje que se le envía al usuario para activar su cuenta.
  • registration_form.html : template para el registro de usuario

Crear archivo Base

Si aún no se cuenta con un archivo base.html, se sugiere uno al menos para poder realizar pruebas necesarias. Crearemos dentro de nuestro directorio template el archivo base.html, con el contenido:

<!doctype html>
<html>
    <head>
        <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
        {% block content %}{% endblock %}
    </body>
</html>

 

Y eso sería todo lo necesario para integrar basicamente django-registration en nuestro proyecto, solo quedaría aplicarle a los templates un poco de frontend, puede ser con bootstrap.

Esperamos les sea de utilidad.



Alex Dzul

FullStack Python / Django Developer. #jslove

Temas relacionados