path('administration/delete-post/', administration_views.delete_upload, name='delete_upload'),
path('administration/delete-post/<slug:post_slug>', administration_views.delete_upload, name='delete_upload'),
По какой-то причине, когда я добавил класс удаления, мне пришлось добавить два шаблона URL. Когда я закомментирую первый путь, он дает мне ошибку
Reverse for 'NoReverseMatch at /administration/
delete_upload' with no arguments not found. 1 pattern(s) tried: ['administration/delete\\-post/(?P<post_slug>[-a-zA-Z0-9_]+)$']
Я даже указал слагов на html.
{% for post in posts %}
<a href="{% url 'delete_upload' %}{{ post.slug }}">Delete Upload</a>
{% endif %}
С двумя одинаковыми шаблонами URL, он как-то работал нормально, но теперь я хочу добавить страницу подтверждения, и она снова вызывает ошибку.
views.py
def delete_upload(request, post_slug):
post = get_object_or_404(VideoPost, slug=post_slug)
if request.method == "POST":
post.delete()
context = {
"post": post
}
return render(request, "administration/confirm_delete.html", context)
verify_delete. html
{% block content %}
<form action="." method="POST">{% csrf_token %}
<h1>Are you sure you want to delete</h1>
<p>{{post.title}}</p>
<a href="../">Cancel</a><input type="submit" value="Confirm">
</form>
{% endblock %}
error
TypeError at /administration/delete-post/
delete_upload() missing 1 required positional argument: 'post_slug'
Он направляет меня на страницу verify_delete правильно с слагами на URL, но когда я нажимаю подтвердить, слаг исчезнет на URL, и это вызывает ошибку, кажется.
Я вижу проблему, но я не могу ее исправить ... пожалуйста, помогите. Спасибо за любую помощь