def post_new(request, category_id=None): category = None if request.method == 'POST': post_form = PostForm(request.POST) if post_form.is_valid(): post = post_form.save(commit=False) post.user = request.user post.is_comment = False post.forum = Forum.objects.all()[0] post.post_ip = request.META.get('REMOTE_ADDR', "0.0.0.0") post.save() post_form.save_m2m() return HttpResponseRedirect(reverse("post", args=[post.pk])) else: if category_id is not None and category_id != '': category = Category.objects.get(pk=category_id) post_form = PostForm(initial={'categories': [category]}) else: post_form = PostForm() return render_to_response("forum/form.html", { 'form': post_form, 'category': category, 'categories': Category.objects.all() }, context_instance=RequestContext(request))
def add_post(request): """ This view allows you to make a new post. If you mess up somewhere and submit, it will start you on the same page with your content. Hopefully we'll validate everything in Javascript. """ if request.method == "GET": form = PostForm() return render_to_response("posts/add.html", {"form": form}, context_instance=RequestContext(request)) else: form = PostForm(request.POST) if form.is_valid(): new_post = form.save(commit=False) new_post.user = request.user new_post.save() form.save_m2m() return HttpResponseRedirect("/posts/%s/" % (new_post.id,)) else: return render_to_response("posts/add.html", {"form": form}, context_instance=RequestContext(request))