Rutas de error

This commit is contained in:
Daniel Cortes
2020-06-27 13:36:49 -04:00
parent c4fe6660a3
commit ee72e39ae1
11 changed files with 60 additions and 24 deletions

View File

@@ -31,7 +31,7 @@ INSTALLED_APPS = [
'fetcher.apps.FetcherConfig',
'users.apps.UsersConfig',
'welcome.apps.WelcomeConfig',
'views.apps.ViewsConfig',
]
"""Middlewares on every call"""

View File

@@ -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'

7
views/apps.py Normal file
View File

@@ -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'

View File

@@ -3,8 +3,8 @@
<html lang="es">
<head>
<title>{% block title %}MusicList{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="{% static "welcome/css/normalize.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "welcome/css/base.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "views/css/normalize.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "views/css/base.css" %}">
{% block extrastyle %}{% endblock %}
{% block extrahead %}{% endblock %}
{% block responsive %}

7
views/urls.py Normal file
View File

@@ -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)
]

37
views/views.py Normal file
View File

@@ -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')

View File

@@ -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'

View File

@@ -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)
]