X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=blog%2Fviews.py;h=38ae51ee7e872d349dd2bbfc90cf9203d8256dbb;hb=ec7d2a820ab2779fd07c0bb2b1b2ecfa01b74620;hp=f1c9b6826e28d894697ee9f61aed881d6dcd2983;hpb=705f08b190025689910342916669a0ed89cc5b18;p=django-girls.git diff --git a/blog/views.py b/blog/views.py index f1c9b68..38ae51e 100644 --- a/blog/views.py +++ b/blog/views.py @@ -1,6 +1,7 @@ -from django.shortcuts import render, get_object_or_404 +from django.shortcuts import render, get_object_or_404, redirect from django.utils import timezone from .models import Post +from .forms import PostForm def post_list(request): posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date') @@ -9,3 +10,30 @@ def post_list(request): def post_detail(request, pk): post = get_object_or_404(Post, pk=pk) return render(request, 'blog/post_detail.html', {'post': post}) + +def post_new(request): + if request.method == 'POST': + form = PostForm(request.POST) + if form.is_valid(): + post = form.save(commit=False) + post.author = request.user + post.published_date = timezone.now() + post.save() + return redirect('post_detail', pk=post.pk) + else: + form = PostForm() + return render(request, 'blog/post_edit.html', {'form': form}) + +def post_edit(request, pk): + post = get_object_or_404(Post, pk=pk) + if request.method == 'POST': + form = PostForm(request.POST, instance=post) + if form.is_valid(): + post = form.save(commit=False) + post.author = request.user + post.published_date = timezone.now() + post.save() + return redirect('post_detail', pk=post.pk) + else: + form = PostForm(instance=post) + return render(request, 'blog/post_edit.html', {'form': form})