Обратный для ‘forum_post’ без аргументов не найден. 1 шаблон(ы) попробовал: [‘forumpost/(?P[0-9] )/$’] Как я могу решить эту проблему?

#python #html #django #django-views #django-templates

Вопрос:

Я хотел бы связать эту функцию со ссылкой в базовых шаблонах, но у меня есть эта ошибка, какое решение можно найти? Должен ли я использовать обратную функцию?

мои взгляды

     def forumPostList(request, pk):
        conversation = get_object_or_404(Conversation, pk=pk)
        form_response = PostModelForm()
        posts_conversation = Post.objects.filter(conversation=conversation)
        context = {"conversation": conversation,
                   "posts_conversation": posts_conversation,
                   "form_response": form_response
                   }
        return render(request, "account/forum_post.html", context)
 
     {% extends 'base.html' %}



    {% block content %}

    <h1>Received messages:</h1>
        <hr>
        <br>
            {% for post in posts_conversation %}

                <h3>{{ conversation.title }}</h3>
                <p>Posts: {{ post.author_post.posts.count }}</p>
                 <p>Posts: {{ post.author_post.username }}</p>


            {% endfor %}


    {% endblock content %}
 

Моя база

 <li class="nav-item">
          <a class="nav-link active" aria-current="page" href="{% url 'forum_post' %}">forum_post</a>
        </li> 

Ответ №1:

forumPostList просмотр должен получить » pk » в качестве параметра в URL-адресе. Поэтому для вызова его по ссылке ваша ссылка должна указывать «pk».
Таким образом, вы можете использовать URL-блок, подобный этому:

 {% url 'forum_post' conversation_pk %}
 

Это coversation_pk должно быть как-то оговорено.

Комментарии:

1. спасибо за ваш вклад. Я пробовал, но ошибка остается. <a class=»активная навигационная ссылка» aria-current=»страница» href=»{% url ‘forum_post’ conversation_pk %}»>forum_post<a class=»активная навигационная ссылка» aria-current=»страница» href=»{% url ‘forum_post’ conversation_pk %}»></a>……..: Обратный для ‘forum_post’ с аргументами ‘(«,)’ не найден. 1 шаблон(ы) попробовал: [‘forumpost/(?P<pk>[0-9] )/$’]

2. Вы должны установить «conversation_pk», а затем использовать его в URL-адресе.

3. Я установил url: путь(‘forumpost/<int:pk>/’, список forumpost, имя=»форум_пост»):

4. Нет, я имею в виду что-то вроде этого: {% с conversation_pk=1 %} <a href=»{% url ‘forum_post’ conversation_pk %}»>forum_post<a href=»{% url ‘forum_post’ conversation_pk %}»></a> {% конец с %} Или передача значения «conversation_pk» в контексте шаблона.

5. Большое вам спасибо, Саджад, за ваш вклад. Я последовал вашему совету и решил проблему.