Skip to content

Instantly share code, notes, and snippets.

@pablorecio
Created March 21, 2016 22:06
Show Gist options
  • Save pablorecio/88ccc1ded1f5fedbf739 to your computer and use it in GitHub Desktop.
Save pablorecio/88ccc1ded1f5fedbf739 to your computer and use it in GitHub Desktop.
PNG
commit 5198e31796e2b191a51459441b773fe77b7795fb
Author: Pablo Recio <pablo@recio.me>
Date: Mon Mar 21 22:01:42 2016 +0000
Class-based views are back to stay
diff --git a/pubnamegenerator/urls.py b/pubnamegenerator/urls.py
index 92656ee..8525b59 100644
--- a/pubnamegenerator/urls.py
+++ b/pubnamegenerator/urls.py
@@ -1,8 +1,10 @@
from django.conf.urls import patterns, url
+from . import views
+
urlpatterns = patterns(
'pubnamegenerator.views',
- url(r'^$', 'main', name='main'),
- url(r'^api/pub$', 'api', name='api'),
+ url(r'^$', views.MainView.as_view(), name='main'),
+ url(r'^api/pub$', views.APIView.as_view(), name='api'),
)
diff --git a/pubnamegenerator/views.py b/pubnamegenerator/views.py
index 365b3c4..7564761 100644
--- a/pubnamegenerator/views.py
+++ b/pubnamegenerator/views.py
@@ -1,10 +1,14 @@
-from django.shortcuts import render
from django.http import JsonResponse
+from django.shortcuts import render
+from django.views.generic import View, TemplateView
from .generator import generate_pub_name
-def main(request):
- return render(request, 'index.html')
-def api(request):
- return JsonResponse({'name': generate_pub_name()})
+class MainView(TemplateView):
+ template_name = 'index.html'
+
+
+class APIView(View):
+ def get(self, request, *args, **kwargs):
+ return JsonResponse({'name': generate_pub_name()})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment