2025/01/07 | AI
with openai
La integración de sistemas de autenticación robustos y personalizados es una necesidad clave en el desarrollo de aplicaciones web modernas, y Django-allauth-ui se presenta como una solución poderosa para quienes buscan simplicidad y flexibilidad. En este artículo, exploraremos paso a paso cómo instalar y configurar Django-allauth-ui, una herramienta que amplía las capacidades de Django-allauth al ofrecer una interfaz de usuario preconstruida y altamente personalizable para manejar el registro, inicio de sesión y administración de cuentas. Además de ahorrar tiempo en el desarrollo, esta librería permite crear experiencias de usuario más intuitivas y profesionalizadas sin comprometer la seguridad. Si estás buscando una forma eficiente de implementar funcionalidades de autenticación con una interfaz lista para usar, este artículo te guiará desde la instalación hasta la configuración básica para que puedas aprovechar al máximo esta herramienta en tu proyecto Django.
Instar los siguientes módulos:
pip install django-allauth-ui
pip install django-widget-tweaks
pip install slippers
Añadir en settings.py en INSTALLED_APPS las aplicaciones: "allauth_ui", "widget_tweaks" y "slippers". Hay que tener en cuenta el order al colocarlos en INSTALLED_APPS. "allauth_ui" debe estar antes que "allauth". Y "widget_tweaks" y "slippers"deben estar posterior a "allauth".
INSTALLED_APPS = [
...
'allauth_ui', # django-allauth-ui
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google',
'widget_tweaks', # django-allauth-ui
'slippers' # django-allauth-ui
...
]
Añadir en settings.py allauth_ui_theme:
ALLAUTH_UI_THEME = "light"
Ejecutar collectstatic
python3 manage.py collectstatic
Ahora sí accedemos a un formulario, por ejemplo a login o signup, el formulario se verá con estilos:
Añade las urls path('accounts/', include('allauth.urls')), dentro de i18n_patterns para que los idiomas se apliquen también en el formulario, En caso contrario se verá en inglés.
urlpatterns += i18n_patterns(
path('i18n/', include('django.conf.urls.i18n')), # Para cambiar idioma
path('', include('applications.home.urls')), # Ruta de la aplicación principal
path('accounts/', include('allauth.urls')),
)