Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2022 07:28:13

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

Делаю комментарии на Django, используя django-comments-xtd

Я прописал get_absolute_url(как прописано в документации по комментариям), чтобы не возникали ошибки, но они возникают, если нажать на кнопку предпросмотра, удаления, ответа на комментарий и т.п. Работает только отправка. Вот пример ошибки:

TemplateDoesNotExist at /comments/reply/5/

models.py:

 class Comment(models.Model):
    title = models.CharField(max_length=30, default="tit")
    def get_absolute_url(self):
        return reverse("comment")

urls:
 path('info', Comment2.as_view(), name='comment'),

views.py:

 class Comment2(TemplateView):
    template_name = "registration/comments.html"
    def get_context_data(self, **kwargs):
        context = super(Comment2, self).get_context_data(**kwargs)
        comment = Comment.objects.get(pk=1)
        context['comment'] = comment
        return context

В чем же ошибка? Правильно ли я прописал get_absolute_url?
Помогите пожалуйста.

Отредактировано SwanAvs (Янв. 7, 2022 07:30:27)

Офлайн

#2 Янв. 7, 2022 10:26:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

А при чем тут ссылки то?

SwanAvs
TemplateDoesNotExist
Джанга не может шаблон найти



Офлайн

#3 Янв. 7, 2022 11:34:31

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

FishHook
А при чем тут ссылки то?
Ну как.

К примеру вот эта /comments/reply/ - для ответа
Она вызывает ошибку.

FishHook
Джанга не может шаблон найти
Так ведь шаблоны уже вместе с django-comments-xtd идут.

Офлайн

#4 Янв. 7, 2022 12:13:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

SwanAvs
Ну как.
Ну вот так!
TemplateDoesNotExist
SwanAvs
Она вызывает ошибку.
Она вызывает ошибку потому что Джанга не может найти соответствующий шаблон
SwanAvs
Так ведь шаблоны уже вместе с django-comments-xtd идут.

покажите, код вот этой view

/comments/reply/



Офлайн

#5 Янв. 7, 2022 12:44:19

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

FishHook
покажите, код вот этой view
Его не нужно прописывать это view комментариев.

Офлайн

#6 Янв. 7, 2022 13:02:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

SwanAvs
Его не нужно прописывать это view комментариев.
ну так что там за код вы можете показать?



Офлайн

#7 Янв. 7, 2022 13:12:21

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

FishHook
ну так что там за код вы можете показать?

 def reply(request, cid):
    try:
        comment = XtdComment.objects.get(pk=cid)
        if not comment.allow_thread():
            raise MaxThreadLevelExceededException(comment)
    except MaxThreadLevelExceededException as exc:
        return HttpResponseForbidden(exc)
    except XtdComment.DoesNotExist as exc:
        raise Http404(exc)
    ct_str = "%s.%s" % (comment.content_type.app_label,
                        comment.content_type.model)
    options = get_app_model_options(content_type=ct_str)
    if (
        not request.user.is_authenticated and
        options['who_can_post'] == 'users'
    ):
        path = request.build_absolute_uri()
        resolved_login_url = resolve_url(settings.LOGIN_URL)
        return redirect_to_login(path, resolved_login_url,
                                 REDIRECT_FIELD_NAME)
    form = get_form()(comment.content_object, comment=comment)
    next = request.GET.get("next", reverse("comments-xtd-sent"))
    template_arg = [
        "django_comments_xtd/%s/%s/reply.html" % (
            comment.content_type.app_label,
            comment.content_type.model),
        "django_comments_xtd/%s/reply.html" % (
            comment.content_type.app_label,),
        "django_comments_xtd/reply.html"
    ]
    return render(request, template_arg,
                  {"comment": comment, "form": form, "cid": cid, "next": next})

код здесь

Отредактировано SwanAvs (Янв. 7, 2022 13:13:47)

Офлайн

#8 Янв. 7, 2022 13:22:54

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

Ok, видим список шаблонов

 template_arg = [
        "django_comments_xtd/%s/%s/reply.html" % (
            comment.content_type.app_label,
            comment.content_type.model),
        "django_comments_xtd/%s/reply.html" % (
            comment.content_type.app_label,),
        "django_comments_xtd/reply.html"
    ]
я бы на вашем месте вывел в лог этот список. Потом надо найти, существуют ли соответствующие шаблоны. И правильно ли настроен параметр TEMPLATES



Офлайн

#9 Янв. 7, 2022 13:39:42

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

FishHook
правильно ли настроен параметр TEMPLATES
С ним все в порядке.

FishHook
Потом надо найти, существуют ли соответствующие шаблоны
Вообще, их не нужно создавать(идут вместе с комментариями), но с целью дальнейшего изменения дизайна я их скачал, но это не помогает.

Я бы лучше взглянул на вот это:

 COMMENTS_XTD_APP_MODEL_OPTIONS = {
    'blog.post': { # строка, вызывающая внимание
        'allow_flagging': False,
        'allow_feedback': True,
        'show_feedback': True
    }
}

Это код из документации, позволяющий пользователям отвечать.
Он прописан в моем settings.py. Очевидно 'blog.post' неверен для моего проекта.

Как я понял blog - название приложения( у меня - registration)

А что такое .post?
Полагаю, если изменить эти значения - что-то заработает.

Отредактировано SwanAvs (Янв. 7, 2022 13:46:38)

Офлайн

#10 Янв. 7, 2022 13:47:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работают ссылки в сайте на Django.

Покажите как выглядит оригинальное сообщение об ошибке



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version