diff --git a/home/urls.py b/home/urls.py index 54860f7a..2853b4a8 100644 --- a/home/urls.py +++ b/home/urls.py @@ -2,7 +2,7 @@ from . import views -urlpatterns = [ - path('home', views.home), - path('authorized', views.authorized), +urlpatterns = [ + path('home/', views.HomeView.as_view(), name='home'), + path('authorized/', views.AuthorizedView.as_view(), name='authorized') ] \ No newline at end of file diff --git a/home/views.py b/home/views.py index 61fcb4ee..6940decd 100644 --- a/home/views.py +++ b/home/views.py @@ -1,11 +1,18 @@ from django.shortcuts import render from django.http import HttpResponse from datetime import datetime -from django.contrib.auth.decorators import login_required +from django.views.generic import TemplateView +from django.contrib.auth.mixins import LoginRequiredMixin -def home(request): - return render(request, 'home/welcome.html', {'today': datetime.today()}) -@login_required(login_url='/admin') -def authorized(request): - return render(request, 'home/authorized.html', {}) \ No newline at end of file +# Class based views +class HomeView(TemplateView): + template_name = 'home/welcome.html' + + extra_context = { + 'today': datetime.today() + } + +class AuthorizedView(TemplateView): + template_name = 'home/authorized.html' + login_url = '/admin' \ No newline at end of file diff --git a/notes/urls.py b/notes/urls.py index b465ddfa..b7f623c1 100644 --- a/notes/urls.py +++ b/notes/urls.py @@ -3,6 +3,6 @@ from . import views urlpatterns = [ - path('notes', views.list), - path('notes/', views.detail), + path('notes/', views.NotesListView.as_view(), name='notes_list'), + path('notes/', views.NotesDetailView.as_view(), name='notes_detail'), ] \ No newline at end of file diff --git a/notes/views.py b/notes/views.py index da15b7ac..aebd5d2c 100644 --- a/notes/views.py +++ b/notes/views.py @@ -1,15 +1,17 @@ from django.shortcuts import render from django.http import Http404 - +from django.views.generic import ListView, DetailView from .models import Notes -def list(request): - all_notes = Notes.objects.all() - return render(request, 'notes/notes_list.html', {'notes': all_notes}) -def detail(request, pk): - try: - note = Notes.objects.get(pk=pk) - except Notes.DoesNotExist: - raise Http404("This note doesn't exist") - return render(request, 'notes/notes_detail.html', {'note': note}) \ No newline at end of file +class NotesListView(ListView): + model = Notes + context_object_name = "notes" + template_name = "notes/notes_list.html" + + +class NotesDetailView(DetailView): + model = Notes + context_object_name = "note" + template_name = "notes/notes_detail.html" +