예제 #1
0
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))
예제 #2
0
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))