def add_post(request): form = AddPostForm(request.POST or None) if form.is_valid(): form.save() return HttpResponseRedirect('/blog') return render_to_response('add_post.html', {'form': form}, context_instance=RequestContext(request))
def add_post(request, forum_id, topic_id): topic = get_object_or_404(Topic, pk=topic_id) if not topic.forum.category.has_access(request.user): return HttpResponseForbidden() if topic.closed: return HttpResponseRedirect(topic.get_absolute_url()) posts = topic.posts.all().select_related()[:5] if request.method == 'GET': form = AddPostForm() if 'post_id' in request.GET: post_id = request.GET['post_id'] post = get_object_or_404(Post, pk=post_id) form.fields['body'].initial = '[quote]%s:\n%s[/quote]\n%s' %\ (unicode(post.user), post.body, _('write here')) else: form = AddPostForm(request.POST) if form.is_valid(): _inject_form(form, ip=request.META.get('REMOTE_ADDR', None), user=request.user, topic=topic) post = form.save() return HttpResponseRedirect(post.get_absolute_url()) return 'feincmsforum/add_post.html', { 'form': form, 'posts': posts, 'topic': topic }
def add_post(request, forum_id, topic_id): topic = get_object_or_404(Topic, pk=topic_id) if not topic.forum.category.has_access(request.user): return HttpResponseForbidden() if topic.closed: return HttpResponseRedirect(topic.get_absolute_url()) posts = topic.posts.all().select_related()[:5] if request.method == 'GET': form = AddPostForm() if 'post_id' in request.GET: post_id = request.GET['post_id'] post = get_object_or_404(Post, pk=post_id) form.fields['body'].initial = '[quote]%s:\n%s[/quote]\n%s' %\ (unicode(post.user), post.body, _('write here')) else: form = AddPostForm(request.POST) if form.is_valid(): _inject_form(form, ip=request.META.get('REMOTE_ADDR', None), user=request.user, topic=topic) post = form.save(); return HttpResponseRedirect(post.get_absolute_url()) return { 'form': form, 'posts': posts, 'topic': topic }
def wall(request, wall_owner=None): """Страница стены юзера. Пользователь может постить себе на стену и другим пользователям""" # определяем владельца стены if wall_owner == "": wall_owner = request.user.username form = AddPostForm() if request.method == "POST": form = AddPostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.commentator_name = request.user.username post.wall_owner = wall_owner post.save() # извлекаем посты хозяина стены posts = Post.objects.filter(wall_owner=wall_owner) prepared_posts = [] for post in posts: prepared_posts.append({"photo": post.photo, "comment": post.message}) # извлекаем имена всех зарегистрированных пользователей users = list(User.objects.values_list('username', flat=True)) users.remove("admin") context = {"wall_owner": wall_owner, "all_users": users, "form": form, "posts": prepared_posts} return render(request, template_name='blog/wall.html', context=context)