From ee72e39ae1751a8c766469a48afad30e855d0442 Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Sat, 27 Jun 2020 13:36:49 -0400 Subject: [PATCH] Rutas de error --- musiclist/settings/__init__.py | 2 +- musiclist/urls.py | 7 +++- {welcome => views}/__init__.py | 0 views/apps.py | 7 ++++ .../static/views}/css/base.css | 0 .../static/views}/css/normalize.css | 0 .../templates/views}/index.html | 4 +- views/urls.py | 7 ++++ views/views.py | 37 +++++++++++++++++++ welcome/apps.py | 7 ---- welcome/urls.py | 13 ------- 11 files changed, 60 insertions(+), 24 deletions(-) rename {welcome => views}/__init__.py (100%) create mode 100644 views/apps.py rename {welcome/static/welcome => views/static/views}/css/base.css (100%) rename {welcome/static/welcome => views/static/views}/css/normalize.css (100%) rename {welcome/templates/welcome => views/templates/views}/index.html (79%) create mode 100644 views/urls.py create mode 100644 views/views.py delete mode 100644 welcome/apps.py delete mode 100644 welcome/urls.py diff --git a/musiclist/settings/__init__.py b/musiclist/settings/__init__.py index f8e3d7d..679cbaf 100644 --- a/musiclist/settings/__init__.py +++ b/musiclist/settings/__init__.py @@ -31,7 +31,7 @@ INSTALLED_APPS = [ 'fetcher.apps.FetcherConfig', 'users.apps.UsersConfig', - 'welcome.apps.WelcomeConfig', + 'views.apps.ViewsConfig', ] """Middlewares on every call""" diff --git a/musiclist/urls.py b/musiclist/urls.py index 44226f8..e9228ac 100644 --- a/musiclist/urls.py +++ b/musiclist/urls.py @@ -4,9 +4,14 @@ from django.contrib import admin from django.urls import path, include urlpatterns = [ - path('', include('welcome.urls')), + path('', include('views.urls')), path('admin/', admin.site.urls), path('oauth/', include('oauth2_provider.urls', namespace='oauth2_provider')), path('auth/', include('users.urls')), path('api/brainz/', include('fetcher.urls')), ] + +handler400 = 'views.views.handle400' +handler403 = 'views.views.handle403' +handler404 = 'views.views.handle404' +handler500 = 'views.views.handle500' diff --git a/welcome/__init__.py b/views/__init__.py similarity index 100% rename from welcome/__init__.py rename to views/__init__.py diff --git a/views/apps.py b/views/apps.py new file mode 100644 index 0000000..d40008f --- /dev/null +++ b/views/apps.py @@ -0,0 +1,7 @@ +"""Definición de la configuración de la app""" +from django.apps import AppConfig + + +class ViewsConfig(AppConfig): + """Configuración de Views""" + name = 'views' diff --git a/welcome/static/welcome/css/base.css b/views/static/views/css/base.css similarity index 100% rename from welcome/static/welcome/css/base.css rename to views/static/views/css/base.css diff --git a/welcome/static/welcome/css/normalize.css b/views/static/views/css/normalize.css similarity index 100% rename from welcome/static/welcome/css/normalize.css rename to views/static/views/css/normalize.css diff --git a/welcome/templates/welcome/index.html b/views/templates/views/index.html similarity index 79% rename from welcome/templates/welcome/index.html rename to views/templates/views/index.html index ccebe9b..250a15a 100644 --- a/welcome/templates/welcome/index.html +++ b/views/templates/views/index.html @@ -3,8 +3,8 @@ {% block title %}MusicList{% endblock %} - - + + {% block extrastyle %}{% endblock %} {% block extrahead %}{% endblock %} {% block responsive %} diff --git a/views/urls.py b/views/urls.py new file mode 100644 index 0000000..40a8865 --- /dev/null +++ b/views/urls.py @@ -0,0 +1,7 @@ +"""Definición de urls de la aplicación""" +from django.urls import path +from views import views + +urlpatterns = [ + path('', views.index) +] diff --git a/views/views.py b/views/views.py new file mode 100644 index 0000000..d90f297 --- /dev/null +++ b/views/views.py @@ -0,0 +1,37 @@ +import json + +from django.core.serializers.json import DjangoJSONEncoder +from django.http import HttpResponseNotFound +from django.shortcuts import render + + +def index(request): + """Vista de index""" + return render(request, 'views/index.html') + + +def _handle_error(status, error): + """Vista general de error""" + response = {'status': status, 'error': error} + encoded = json.dumps(response, cls=DjangoJSONEncoder) + return HttpResponseNotFound(encoded, content_type='application/json') + + +def handle400(request, exception=None): + """Vista de error 400""" + return _handle_error(400, 'La request realizada es errónea') + + +def handle403(request, exception=None): + """Vista de error 404""" + return _handle_error(404, 'No se tiene permiso para acceder') + + +def handle404(request, exception=None): + """Vista de error 404""" + return _handle_error(404, 'El recurso buscado no existe') + + +def handle500(request, exception=None): + """Vista de error 500""" + return _handle_error(500, 'Error del servidor') diff --git a/welcome/apps.py b/welcome/apps.py deleted file mode 100644 index 866348d..0000000 --- a/welcome/apps.py +++ /dev/null @@ -1,7 +0,0 @@ -"""Definición de la configuración de la app""" -from django.apps import AppConfig - - -class WelcomeConfig(AppConfig): - """Configuración de Welcome""" - name = 'welcome' diff --git a/welcome/urls.py b/welcome/urls.py deleted file mode 100644 index 218b536..0000000 --- a/welcome/urls.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Definición de urls de la aplicación""" -from django.shortcuts import render -from django.urls import path - - -def index(request): - """Vista de index""" - return render(request, 'welcome/index.html') - - -urlpatterns = [ - path('', index) -]