Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django import forms
- from django.views import generic
- from django.views.generic.edit import CreateView, DeleteView, UpdateView
- from .models import Album,Song
- from django.urls import reverse_lazy
- from django.shortcuts import render, redirect
- from django.contrib.auth import authenticate, login, logout
- from django.views.generic import View
- from .forms import UserForms, AlbumForm, SongForm
- class IndexView(generic.ListView):
- template_name = 'music/index.html'
- context_object_name = "all_albums"
- def get_queryset(self):
- return Album.objects.all()
- class DetailView(generic.DeleteView):
- model = Album
- template_name = 'music/detail.html'
- class AlbumCreate(CreateView):
- form_class = AlbumForm
- template_name = 'music/album_form.html'
- class SongCreate(CreateView):
- form_class = SongForm
- template_name = 'music/addsong.html'
- class AlbumUpdate(UpdateView):
- model = Album
- fields = ['artist', 'album_title', 'genre', 'album_logo']
- class AlbumDelete(DeleteView):
- model = Album
- success_url = reverse_lazy('music:index')
- class SongDelete(DeleteView):
- model = Song
- success_url = reverse_lazy('music:index')
- class UserFormsView(View):
- form_class = UserForms
- template_name = 'music/register.html'
- # display blank form
- def get(self, request):
- form = self.form_class(None)
- return render(request, self.template_name , {'form' : form})
- #process form Data
- def post(self, request):
- form = self.form_class(request.POST)
- if form.is_valid():
- user = form.save(commit=False)
- # Cleaning Data
- username = form.cleaned_data['username']
- password = form.cleaned_data['password']
- user.set_password(password)
- user.save()
- # return if credetials are correct
- user = authenticate(username = username, password = password)
- if user is not None:
- if user.is_active:
- login(request, user)
- return redirect('music:index')
- return render(request, self.template_name, {'form': form})
- def logout_view(request):
- logout(request)
- return redirect('music:login')
- def AlbumFav():
- return redirect('music:index')
Add Comment
Please, Sign In to add comment