Exemple #1
0
def new_single(request, pk):  # pk is id of article
    """
    вызов полной сатьи и комментариев к ней
    """
    new = get_object_or_404(News, id=pk)
    comment = Comments.objects.filter(
        new=pk
    )  # moderation=True)       # все записи, где номер статьи = pk (и комментарии модерированы)
    if request.method == 'POST':
        form = CommentForm(request.POST)  # пользователь уже ввел
        if form.is_valid():
            # зная, кто на сайте и кто отправил форму, надо добавить юзера к модели комментариев
            form = form.save(commit=False)  # Приостановили сохранение формы
            form.user = request.user  # к полю форм.юзер присваиваем имя того, кто совершил запрос
            form.new = new  # присвоим статью, на которой делали комментарий
            form.save()
            return redirect(
                new_single, pk
            )  # перенаправляем пользователя на изначальную страницу новости
    else:
        form = CommentForm()
    return render(
        request,
        "news/new_single.html",  # передаем в ХТМЛ то, что в кавычках
        {
            "new": new,
            'comments': comment,  # выше первый метод вывода комментариев
            "form": form
        })  # потом перейти в УРЛ, который будет запускать эту функцию
Exemple #2
0
def new_single(request, pk):
    """ Вывод полной статьи """
    new = get_object_or_404(News, id=pk)
    comment = Comments.objects.filter(new=pk, moderation=True)
    if request.method == "POST":
        form = CommentForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            form.user = request.user
            form.new = new
            form.save()
            return redirect(new_single, pk)
    else:
        form = CommentForm()
    return render(request, "news/new_single.html",
                  {"new": new,
                   "comments": comment,
                   "form": form})
Exemple #3
0
def new(request, pk):
    new = get_object_or_404(News, id=pk)
    comments = Comments.objects.filter(new=pk, moderation=True)
    if request.POST:
        comm_form = CommentForm(request.POST)
        if comm_form.is_valid():
            comm_form = comm_form.save(commit=False)
            comm_form.user = request.user
            comm_form.new = new
            comm_form.save()
            return redirect('/news/' + str(pk))
    else:
        comm_form = CommentForm()
    return render(request, 'news/new.html', {
        'new': new,
        'comments': comments,
        'comm_form': comm_form
    })
Exemple #4
0
def new_single(request, pk):
    """Вывод полной статьи
    """

    new = get_object_or_404(News, id=pk)
    comment = Coments.objects.filter(new=pk, moderation=True)
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if form.is_valid:  # нам нужно присвоить к тому user который сейчас на сайте добавил коментарий
            form = form.save(
                commit=False)  # для это пиостанавливаем сохранение
            form.user = request.user  # присваиваем запросить пользователя который сейчас на сайте
            form.new = new
            form.save()  # сохраняем нашу форму
            return redirect(
                new_single,
                pk)  # чтоб вернулась страница с полем ввода комментария
    else:
        form = CommentForm()
    return render(request, 'new_singl.html', {
        'new': new,
        'comment': comment,
        'form': form
    })