Я создал функцию restaurant_delete_meal
для удаления объекта еды.
Когда я запускаю ссылку restaurant/meal/id/delete
, функция работает и удаляет объект. Но когда я пытаюсь добавить кнопку на странице редактирования еды с помощью функции удаления ссылки и пытаюсь открыть страницу редактирования еды, появляется сообщение об ошибке
NoReverseMatch at /restaurant/meal/9/edit/
Reverse for 'restaurant-delete-meal' with arguments '('',)' not found.
1 pattern(s) tried: ['restaurant/meal/(?P<meal_id>\\d+)/delete/$']
Request Method: GET
Request URL: http://127.0.0.1:8000/restaurant/meal/9/edit/
Django Version: 1.11
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'restaurant-delete-meal' with arguments '('',)' not found.
1 pattern(s) tried: ['restaurant/meal/(?P<meal_id>\\d+)/delete/$']
Exception Location:
/Users/mickael/Desktop/myvirtualenv/foodtasker/lib/python3.6/site-
packages/django/urls/resolvers.py in _reverse_with_prefix, line 497
Python Executable:
/Users/mickael/Desktop/myvirtualenv/foodtasker/bin/python
Python Version: 3.6.5
Python Path:
['/Users/mickael/Desktop/foodtasker',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-
dynload',
'/Users/mickael/Desktop/myvirtualenv/foodtasker/lib/python3.6/site-
packages']
Server time: Wed, 16 May 2018 11:16:53 +0000
Error during template rendering
In template
/Users/mickael/Desktop/foodtasker/foodtaskerapp/templates/base.html,
error at line 25
Reverse for 'restaurant-delete-meal' with arguments '('',)' not found.
1 pattern(s) tried: ['restaurant/meal/(?P<meal_id>\\d+)/delete/$']
Я импортировал все виды. Страница редактирования еды, где я пытаюсь установить кнопку удаления:
[views.py][1]
[urls.py][2]
[edit-meal.html][3]
Views.py
def restaurant_delete_meal(request, meal_id):
instance = get_object_or_404(Meal, id=meal_id)
instance.delete()
messages.success(request, "DELETED")
return redirect(restaurant_meal)
edit_meal.html, когда я пытаюсь установить кнопку
{% extends 'restaurant/base.html' %}
{% load bootstrap3 %}
{% block page %}
<div class="col-lg-offset-2 col-lg-8">
<div class="panel">
<div class="panel-heading bg-blue">
<h4 class="panel-title text-center text-white">
Edit Meal
</h4>
</div>
<div class="panel-body">
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{% bootstrap_form form %}
<button type="submit" class="btn btn-pink">Update</button>
</form>
<button type="button" class="btn btn-pink" id="right-panel-link" href="{% url 'restaurant-delete-meal' meal.id %}">Add</button>
</div>
</div>
</div>
{% endblock %}
urls.py
url(r'^restaurant/meal/(?P<meal_id>\d+)/delete/$',
views.restaurant_delete_meal, name = 'restaurant-delete-meal'),