Есть Функция и шаблон для добовления комеентарив но она не работает подозреваю что проблемма в action или в том что функция GetComments не обрабатываеться
views.py
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.views.generic import ListView, DetailView
from .forms import CommentForm
from .models import CommentModel, Articles
class ArticlesList(ListView):
model = Articles
template_name = 'news/posts.html'
class ArticleDetail(DetailView):
model = Articles
template_name = 'news/post.html'
def GetComments(request):
if request.method == 'POST':
form = CommentForm(request.POST)
if form.is_valid():
# Сохранение формы
form.save()
# Редирект на ту же страницу
return HttpResponseRedirect(request.path_info)
else:
# метод GET
form = CommentForm()
# Получение всех имен из БД.
comm = CommentModel.objects.all()
# И добавляем names в контекст, чтобы плучить к ним доступ в шаблоне
return render(request, 'news/post.html', {'form': form, 'comments': comm})
post.html
{% extends "ShapeHtml/wrapper.html" %}
{% block content %}
<div class="panel panel-default">
<div class="panel-heading">
<h1 class=" text-info">{{object.title}}</h1>
</div>
<div class="panel-body">
<p> {{object.post|safe|linebreaks}} </p>
<h3 align="right" class=" text-info"> Опубликованно: {{articles.date|date:"d-m-Y в H:i"}}</h3>
</div>
<h4>Comments</h4>
<form action="" method="post">
{% csrf_token %}
{% if comm %}
{% for comm in comments %}
{{ comm.WhoAreYou }} <br>
{% endfor %}
{% endif %}
{{ form }}
<input type="submit" value="Submit">
</form>
{% endblock %}
models.py
from django.db import models
class Articles(models.Model):
title = models.CharField(max_length= 200)
post = models.TextField()
date = models.DateTimeField()
img = models.ImageField(upload_to='', default="default_value")
def __str__(self):
return self.title
class CommentModel(models.Model):
WhoAreYou = models.CharField(max_length=100)
forms.py
from django.forms import ModelForm
from .models import CommentModel
class CommentForm(ModelForm):
class Meta:
model = CommentModel
fields = ('WhoAreYou',)
В action записывается имя файла-обработчика. После сабмита формы данные из неё будут отправлены указанным методом в этот файл. https://www.w3schools.com/tags/att_form_action.asp
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
На старом сайте есть шапка, баннер сделан в формате swf у большинства браузеров Flash отключен, то есть "Нажмите чтобы показать содержимое flash"...
Нужна помощь: В Django при обработке следующего когда viewspy:
Как можно задать максимальное количество блоков в линии в этом коде, что бы не выполнялся перенос относительно ширины?: