def write(request, slug, id): initial_data = {} categories = get_categories_for_user(request.user, 'forum.write_post') action = u"글 쓰기" if slug != None: category = get_object_or_404(Category, slug=slug) initial_data["category"] = category.id if id != None: action = u"글 편집하기" post = get_object_or_404(Post, id=id) if not request.user.is_superuser and request.user != post.user: return HttpResponseForbidden("Operation is forbidden.") category = post.category categories = categories | Category.objects.filter(id=category.id) # nah form = WriteForm(categories, data=request.POST or None, instance=post) else: if not categories.filter(id=category.id).exists(): return HttpResponseForbidden("Operation is forbidden.") form = WriteForm(categories, data=request.POST or None, initial=initial_data) if request.method == "POST" and form.is_valid(): post = form.save(commit=False) if id == None: post.user = request.user post.save() return redirect(reverse("forum-read", kwargs={"id": post.id})) return render(request, "write.html", {"form": form, "action": action, "category": category, "categories": categories})
def write(request, slug, id): initial_data = {} categories = get_categories_for_user(request.user, 'forum.write_post') action = u"글 쓰기" if slug != None: category = get_object_or_404(Category, slug=slug) initial_data["category"] = category.id if id != None: action = u"글 편집하기" post = get_object_or_404(Post, id=id) if not request.user.is_superuser and request.user != post.user: return HttpResponseForbidden("Operation is forbidden.") category = post.category categories = categories | Category.objects.filter( id=category.id) # nah form = WriteForm(categories, data=request.POST or None, instance=post) else: if not categories.filter(id=category.id).exists(): return HttpResponseForbidden("Operation is forbidden.") form = WriteForm(categories, data=request.POST or None, initial=initial_data) if request.method == "POST" and form.is_valid(): post = form.save(commit=False) if id == None: post.user = request.user post.save() return redirect(reverse("forum-read", kwargs={"id": post.id})) return render( request, "write.html", { "form": form, "action": action, "category": category, "categories": categories })
def add_categories(request): return { "forum_categories": get_categories_for_user(request.user, 'read_post') }
def add_categories(request): return {"forum_categories": get_categories_for_user(request.user, 'read_post')}