ugochukwu15

my views.py

Aug 6th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. from django.views.generic.edit import CreateView, UpdateView, DeleteView
  2. from django.core.urlresolvers import reverse_lazy
  3. from django.shortcuts import render, redirect
  4. from django.contrib.auth import authenticate, login
  5. from django.views import generic
  6. from django.views.generic import View
  7. from .models import Album
  8. from .forms import UserForm
  9.  
  10. class IndexView(generic.ListView):
  11.     template_name = 'music/index.html'
  12.     context_object_name = 'all_albums'
  13.  
  14.     def get_queryset(self):
  15.         return Album.objects.all()
  16.  
  17.  
  18. class DetailView(generic.DetailView):
  19.     model = Album
  20.     template_name = 'music/detail.html'
  21.  
  22. class AlbumCreate(CreateView):
  23.     model = Album
  24.     fields = ['artist', 'album_title', 'genre', 'album_logo']
  25.  
  26. class AlbumUpdate(UpdateView):
  27.     model = Album
  28.     fields = ['artist', 'album_title', 'genre', 'album_logo']
  29.  
  30. class AlbumDelete(DeleteView):
  31.     model = Album
  32.     success_url = reverse_lazy('music:index')
  33.  
  34. class UserFormView(View):
  35.     form_class = UserForm
  36.     template_name = 'music/registration_form.html'
  37.  
  38.     #display a blank form
  39.     def get(self, request):
  40.         form = self.form_class(None)
  41.         return render(request, self.template_name, {'form': form})
  42.  
  43.     # process form data
  44.     def post(self, request):
  45.         form = self.form_class(request.POST)
  46.  
  47.         if form.is_valid():
  48.  
  49.             user = form.save(commit=False)
  50.  
  51.             # cleaned (normalized) data
  52.             username = form.cleaned_data['username']
  53.             password = form.cleaned_data['password']
  54.             user.set_password(password)
  55.             user.save()
  56.  
  57.             #returns user objects if credentials are correct
  58.             user = authenticate(username=username, password=password)
  59.  
  60.             if user is not None:
  61.  
  62.                 if user.is_active:
  63.                     login(request, user)
  64.                     return redirect('music:index')
  65.  
  66.         return render(request, self.template_name, {'form': form})
Advertisement
Add Comment
Please, Sign In to add comment