Beispiel #1
0
def blog_save(request, slug=None):
    blog = None
    if slug:
        blog = Blog.objects.get(slug=slug)
        if not blog or blog.author_id != request.user.id:
            raise Http404

    if request.POST:
        form = BlogForm(request.POST, instance=blog)
        if form.is_valid():
            blog = BlogForm(form.cleaned_data, instance=blog).save(commit=False)
            if not slug:
                blog.is_active = True
                blog.author = request.user
            blog.save()
            return HttpResponseRedirect(
                reverse('blog.views.blog', kwargs={'slug': blog.slug}))
    else:
        form = BlogForm(instance=blog)

    return render_to_response(request, 'blog/blog_save.html', {
        'form': form,
        'blog': blog,
    })