У меня проблемы с редактированием сообщения в проекте django

Я работаю над проектом Django, где я могу создать пост, а также редактировать определенный пост, используя id поста.

views.py

@login_required
def editpost(request,id):
  postform = NewPost.objects.get(id=id)

  if request.method == "GET":
    post = NewPostForm(request.GET, instance=postform)
    user = request.user.id
    timestamp = datetime.now()
    if post.is_valid:
        post = post.save()
        postdata = post.save(id = id,post = post,user = user,timestamp = timestamp)
        postdata.save()
        return HttpResponseRedirect(reverse("index"))

    return render(request,"network/postform.html",{
      "postform" : postform,
      "id" : id,
    })

urls.py

urlpatterns = [
   path("", views.index, name="index"),
   path("login", views.login_view, name="login"),
   path("logout", views.logout_view, name="logout"),
   path("register", views.register, name="register"),
   path("postform", views.createpost, name="postform"),
   path("editform/<int:id>",views.editpost,name="editpost"),
]

editform.html

{% extends 'network/layout.html' %}

{% block body %}
<div style="margin: 70px 10px 10px 10px;">
    <!-- <h1>Create New Post</h1> -->
    <div class="border border-success" style="margin: 10px 10px 10px 10px; position: relative;">
        <div style="margin: 10px 10px 10px 10px;">
            <label>New post</label>
            <form id="NewPostForm" action="{% url 'index' %}" method="GET">
                {% csrf_token %}
                <div class="form-group">
                    {{ postform }}
                </div>
            
                <input class="btn btn-success" type="Submit" value="Submit">
            </form>
        </div>
    </div>
</div>
{% endblock %}

У меня проблемы с маршрутизацией моего шаблона.

enter image description here

Что мне теперь делать!?

Похоже, что ошибка на самом деле в like.html. При рендеринге ссылки редактирования django пытается найти, используя {% url 'editpost' postform.id %}. django пытается сказать вам, что хотя editpost находится в вашем urls.py, предоставленные аргументы не совпадают.

Я не проверял, но похоже, что вы должны передавать аргументы с их именами, указанными в urls.py, поэтому, поскольку urlconf выглядит как "editform/<int:id>", вы должны передать {% url 'editpost' id=postform.id %}.

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