Guest User

jkl

a guest
Jul 27th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. from django import forms
  2. from django.views import generic
  3. from django.views.generic.edit import CreateView, DeleteView, UpdateView
  4. from .models import Album,Song
  5. from django.urls import reverse_lazy
  6. from django.shortcuts import render, redirect
  7. from django.contrib.auth import authenticate, login, logout
  8. from django.views.generic import View
  9. from .forms import UserForms, AlbumForm, SongForm
  10.  
  11.  
  12. class IndexView(generic.ListView):
  13. template_name = 'music/index.html'
  14. context_object_name = "all_albums"
  15.  
  16.  
  17. def get_queryset(self):
  18. return Album.objects.all()
  19.  
  20.  
  21.  
  22. class DetailView(generic.DeleteView):
  23. model = Album
  24.  
  25. template_name = 'music/detail.html'
  26.  
  27.  
  28.  
  29. class AlbumCreate(CreateView):
  30. form_class = AlbumForm
  31. template_name = 'music/album_form.html'
  32.  
  33. class SongCreate(CreateView):
  34. form_class = SongForm
  35. template_name = 'music/addsong.html'
  36.  
  37. class AlbumUpdate(UpdateView):
  38. model = Album
  39. fields = ['artist', 'album_title', 'genre', 'album_logo']
  40.  
  41.  
  42. class AlbumDelete(DeleteView):
  43. model = Album
  44. success_url = reverse_lazy('music:index')
  45.  
  46.  
  47. class SongDelete(DeleteView):
  48. model = Song
  49. success_url = reverse_lazy('music:index')
  50.  
  51.  
  52. class UserFormsView(View):
  53. form_class = UserForms
  54. template_name = 'music/register.html'
  55.  
  56.  
  57. # display blank form
  58.  
  59. def get(self, request):
  60. form = self.form_class(None)
  61. return render(request, self.template_name , {'form' : form})
  62.  
  63.  
  64. #process form Data
  65.  
  66. def post(self, request):
  67. form = self.form_class(request.POST)
  68.  
  69. if form.is_valid():
  70. user = form.save(commit=False)
  71.  
  72. # Cleaning Data
  73.  
  74. username = form.cleaned_data['username']
  75. password = form.cleaned_data['password']
  76.  
  77. user.set_password(password)
  78. user.save()
  79.  
  80. # return if credetials are correct
  81.  
  82. user = authenticate(username = username, password = password)
  83.  
  84.  
  85. if user is not None:
  86.  
  87. if user.is_active:
  88.  
  89. login(request, user)
  90. return redirect('music:index')
  91.  
  92.  
  93.  
  94. return render(request, self.template_name, {'form': form})
  95.  
  96.  
  97. def logout_view(request):
  98. logout(request)
  99. return redirect('music:login')
  100.  
  101. def AlbumFav():
  102. return redirect('music:index')
Add Comment
Please, Sign In to add comment