def create_post_with_forms(request): message = None if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'New post has been created.') return redirect('posts-index') else: messages.error('There is an error in your form inputs') else: form = PostForm() context = { 'form': form, 'message': message, } return render(request, 'posts/create_post_form.html', context)
def posts_new(request): base_context = {"new_post": PostForm()} if request.method == "GET": return render(request, 'posts_new.html', context=dict(**base_context, **{})) elif request.method == "POST": form = PostForm(request.POST) post = form.save() if request.user.is_authenticated: post.create_uid = request.user post.save() return render( request, 'posts_new.html', context=dict( **base_context, **{ "message": f"New post {post.title} by {post.author} created", "message_type": "success", })) else: return HttpResponseNotAllowed()