Отображение данных на динамической странице

Столкнувшись с такой проблемой, страница exercise_new не отображает никакой формы и не выводит информацию из БД.

введите описание изображения здесь

#------------views.py-----------#

def comment(request, pk):
    """Вывод полной статьи
    """
    new = get_object_or_404(Exercise, pk=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(exercise, pk)
    else:
        form = CommentForm()
    return render(request, "ProManager/exercise_new.html",
                  {"new": new,
                   "comments": comment,
                   "form": form})

#---------models.py------------#

class Comments(models.Model):
    """Ксласс комментариев к новостям
    """
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        verbose_name="Пользователь",
        on_delete=models.CASCADE)
    new = models.ForeignKey(
         Exercise,
         verbose_name="Новость",
         on_delete=models.CASCADE)
    text = models.TextField("Комментарий")
    created = models.DateTimeField("Дата добавления", auto_now_add=True, null=True)
    moderation = models.BooleanField("Модерация", default=False)

    class Meta:
        verbose_name = "Комментарий"
        verbose_name_plural = "Комментарии"

    def __str__(self):
        return "{}".format(self.user)

#-----------------forms.py-------------#

class CommentForm(ModelForm):
    """Форма комментариев к статьям
    """
    class Meta:
        model = Comments
        fields = ('text', )

#----------------exercise_new.html----------------#

<h4>Комментарии</h4>
{% for comment in comments %}
   Пользователь - {{ comment.user }}<br>
   {{ comment.text }} <br>
   Добавлен - {{ comment.created }}<br><br>
{% endfor %}

{% if user.is_active %}
   <form action="" method="post">
       {% csrf_token %}
       {{ form.as_p }}
       <button type="submit">Отправить</button>
   </form>
{% else %}
   <h4>Что бы оставить комментарий авторизуйтесь</h4>
{% endif %}

---------------------urls.py------------------

urlpatterns = [
    path('exercise/<int:pk>/', ExerciseDetailView.as_view(), name='exercise-new'),
    path('project/<int:pk>/', ProjectDetailView.as_view(), name='project-new'),
    path('register',views.register_request, name="register"),
    path('login', views.login_request, name="login"),
    path('logout', views.logout_request, name= "logout"),
    path('project', views.project, name="project"),
    path('', views.project, name="project"),
    path('exercise', views.exercise, name="exercise"),
    path('contact', views.contact, name="contact"),
    path('log', views.log, name="log"),
    path('create_project',views.create_project, name="create_project"),
    path('create_exercise',views.create_exercise, name="create_exercise"),
    path('project/<int:pk>/update', views.ProjectUpdateView.as_view(), name='project_update'),
    path('project/<int:pk>/delete', views.ProjectDeleteView.as_view(), name='project_delete'),
    path('exercise/<int:pk>/update', views.ExerciseUpdateView.as_view(), name='exercise_update'),
    path('exercise/<int:pk>/delete', views.ExerciseDeleteView.as_view(), name='exercise_delete'),

]

Вам необходимо иметь:

{% if request.user.is_active %}

Вместо

{% if user.is_active %}

В вашем шаблоне.

Вернуться на верх