diff --git a/Libros/biblioteca/accounts/__init__.py b/Libros/biblioteca/accounts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Libros/biblioteca/accounts/admin.py b/Libros/biblioteca/accounts/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/Libros/biblioteca/accounts/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Libros/biblioteca/accounts/apps.py b/Libros/biblioteca/accounts/apps.py new file mode 100644 index 0000000..3e3c765 --- /dev/null +++ b/Libros/biblioteca/accounts/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AccountsConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'accounts' diff --git a/Libros/biblioteca/accounts/migrations/__init__.py b/Libros/biblioteca/accounts/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Libros/biblioteca/accounts/models.py b/Libros/biblioteca/accounts/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/Libros/biblioteca/accounts/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Libros/biblioteca/accounts/tests.py b/Libros/biblioteca/accounts/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/Libros/biblioteca/accounts/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Libros/biblioteca/accounts/urls.py b/Libros/biblioteca/accounts/urls.py new file mode 100644 index 0000000..fac987a --- /dev/null +++ b/Libros/biblioteca/accounts/urls.py @@ -0,0 +1,9 @@ +# accounts/urls.py +from django.urls import path + +from .views import SignUpView + + +urlpatterns = [ + path("signup/", SignUpView.as_view(), name="signup"), +] \ No newline at end of file diff --git a/Libros/biblioteca/accounts/views.py b/Libros/biblioteca/accounts/views.py new file mode 100644 index 0000000..6517d3e --- /dev/null +++ b/Libros/biblioteca/accounts/views.py @@ -0,0 +1,11 @@ +# accounts/views.py +#from django.contrib.auth.forms import UserCreationForm +from django.urls import reverse_lazy +from django.views.generic import CreateView + +from gestion.forms import ReyMotaUserCreationForm + +class SignUpView(CreateView): + form_class = ReyMotaUserCreationForm + success_url = reverse_lazy("login") + template_name = "registration/signup.html" \ No newline at end of file diff --git a/Libros/biblioteca/biblioteca/settings.py b/Libros/biblioteca/biblioteca/settings.py index 78614c7..202fd4a 100644 --- a/Libros/biblioteca/biblioteca/settings.py +++ b/Libros/biblioteca/biblioteca/settings.py @@ -38,6 +38,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'gestion', + 'accounts', ] MIDDLEWARE = [ diff --git a/Libros/biblioteca/biblioteca/urls.py b/Libros/biblioteca/biblioteca/urls.py index 7ae0424..ca60ff3 100644 --- a/Libros/biblioteca/biblioteca/urls.py +++ b/Libros/biblioteca/biblioteca/urls.py @@ -25,8 +25,11 @@ urlpatterns = [ path('obreros/', admin.site.urls), path('gestion/', include('gestion.urls')), + path("accounts/", include("accounts.urls")), # new path('accounts/login/', auth_views.LoginView.as_view(), name='login'), path('accounts/logout/', auth_views.LogoutView.as_view(), name='logout'), + path("accounts/", include("django.contrib.auth.urls")), + path("", TemplateView.as_view(template_name="gestion/index.html"), name="principal"), # new ] diff --git a/Libros/biblioteca/gestion/forms.py b/Libros/biblioteca/gestion/forms.py index 3e48c56..d9a01cb 100644 --- a/Libros/biblioteca/gestion/forms.py +++ b/Libros/biblioteca/gestion/forms.py @@ -38,4 +38,4 @@ class ReyMotaUserChangeForm(UserChangeForm): class Meta: model = ReyMotaUser - fields = ("email", "foto") \ No newline at end of file + fields = ("email", "foto") diff --git a/Libros/biblioteca/gestion/templates/registration/signup.html b/Libros/biblioteca/gestion/templates/registration/signup.html new file mode 100644 index 0000000..78ee3f5 --- /dev/null +++ b/Libros/biblioteca/gestion/templates/registration/signup.html @@ -0,0 +1,13 @@ + +{% extends "base.html" %} + +{% block title %}Sign Up{% endblock %} + +{% block content %} +

Sign up

+
+ {% csrf_token %} + {{ form }} + +
+{% endblock %} \ No newline at end of file diff --git a/Libros/biblioteca/gestion/views.py b/Libros/biblioteca/gestion/views.py index 45d20ce..7defaed 100644 --- a/Libros/biblioteca/gestion/views.py +++ b/Libros/biblioteca/gestion/views.py @@ -1,5 +1,11 @@ from django.shortcuts import render, get_object_or_404, redirect from django.contrib.auth.decorators import login_required + +from django.views.generic import CreateView +from django.contrib.auth.forms import UserCreationForm +from django.urls import reverse_lazy + + from .models import Autor, Libro from .forms import AutorForm, LibroForm @@ -84,3 +90,9 @@ def eliminar_libro(request, libro_id): libro = get_object_or_404(Libro, pk=libro_id) libro.delete() return redirect('lista_libros') + + +class SignUpView(CreateView): + form_class = UserCreationForm + success_url = reverse_lazy("login") + template_name = "registration/signup.html" \ No newline at end of file