Форум сайта python.su
Делаю комментарии на 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")
path('info', Comment2.as_view(), name='comment'),
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
Отредактировано SwanAvs (Янв. 7, 2022 07:30:27)
Офлайн
А при чем тут ссылки то?
SwanAvsДжанга не может шаблон найти
TemplateDoesNotExist
Офлайн
FishHookНу как.
А при чем тут ссылки то?
FishHookТак ведь шаблоны уже вместе с django-comments-xtd идут.
Джанга не может шаблон найти
Офлайн
SwanAvsНу вот так!
Ну как.
TemplateDoesNotExist
SwanAvsОна вызывает ошибку потому что Джанга не может найти соответствующий шаблон
Она вызывает ошибку.
SwanAvs
Так ведь шаблоны уже вместе с django-comments-xtd идут.
/comments/reply/
Офлайн
FishHookЕго не нужно прописывать это view комментариев.
покажите, код вот этой view
Офлайн
SwanAvsну так что там за код вы можете показать?
Его не нужно прописывать это view комментариев.
Офлайн
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)
Офлайн
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" ]
Офлайн
FishHookС ним все в порядке.
правильно ли настроен параметр TEMPLATES
FishHookВообще, их не нужно создавать(идут вместе с комментариями), но с целью дальнейшего изменения дизайна я их скачал, но это не помогает.
Потом надо найти, существуют ли соответствующие шаблоны
COMMENTS_XTD_APP_MODEL_OPTIONS = { 'blog.post': { # строка, вызывающая внимание 'allow_flagging': False, 'allow_feedback': True, 'show_feedback': True } }
Отредактировано SwanAvs (Янв. 7, 2022 13:46:38)
Офлайн
Покажите как выглядит оригинальное сообщение об ошибке
Офлайн