Example #1
0
def edit_song(request, id):
    instance = get_object_or_404(Song, pk=id)
    form = SongForm(request.POST or None, instance=instance)
    if form.is_valid():             # All validation rules pass
        new_song = form.save(commit=False)
        new_song.author = request.user

        try:
            new_song.full_clean()
        except ValidationError as e:
            print(e)                # TODO: handle errors better

        new_song.save()
        return HttpResponseRedirect(reverse('song_list'))   # Redirect after POST
    else:
        print(form.errors)
    return render(request, "songs/edit_song.html", {'user': request.user, 'form': form, 'id': id})
Example #2
0
def create_song(request):
    if request.method == 'POST':        # If the form has been submitted
        form = SongForm(request.POST)   # A form bound to the POST data
        if form.is_valid():             # All validation rules pass
            new_song = form.save(commit=False)
            new_song.author = request.user

            try:
                new_song.full_clean()
            except ValidationError as e:
                print(e)                # TODO: handle errors better

            new_song.save()
            return HttpResponseRedirect(reverse('song_list'))   # Redirect after POST
        else:
            print(form.errors)
    else:                               # If the form has not been submitted
        form = SongForm()

    return render(request, "songs/create_song.html", {'user': request.user, 'form': form})