Я начал проект в Джанго, где я делаю новый ресторанный сайт.Сначала я подумал сделать такую модель:
class Menu(models.Model):
user = models.ForeignKey(User,default=1, on_delete=models.CASCADE)
name = models.CharField("Name of the dish",max_length=30)
category = models.CharField(max_length=20,choices=CATEGORY_CHOICES,default='SP')
description = models.TextField(max_length=300)
dish_image = models.ImageField(upload_to='uploads/')
И у меня CATEGORY_CHOICES как CATEGORY_CHOICES = [('L', 'Обед'), .....]
Теперь у меня есть эта кнопка на странице индекса, которая перенаправляет на страницу меню. На странице меню я думаю о , отображающем [n] количество плиток с [name] (n = количество элементов в выборе категории и name = полное имя этогопример: Обед)
Получив много ошибок и выяснив каждую ошибку, я выполнил эту задачу. Теперь , после этого я хочу открыть меню определенной категории, когда пользователь нажимает на него .Например: если пользователь щелкает плитку «Обед», он должен перейти на другую страницу, где указан весь список продуктов этой категории.Мой шаблон URL выглядит следующим образом:
urlpatterns = [
path('', views.index, name="index"),
path('menu/', views.menu, name="menu"),
path('menu/<str:menu_category>/', views.menu_detail, name="menu_detail"),
]
И у меня есть это представление:
def menu_detail(request, menu_category):
menu_list = get_list_or_404(Menu ,category=menu_category)
menu_title = Menu.objects.get(category=menu_category)
return render(request,'restaurant/menu_detail.html',{'menu_list':menu_list,'menu_title':menu_title})
В шаблоне меню я называю его как
<a href="{% url 'menu_detail' menu_category = menus.menu_category %}">
Я не знаю, где я поступил неправильно.Но я получаю ReverseMatchException во время просмотра .... / menu /.Может быть, это слишком сложно для меня, так как я новичок в этой области.Кто-нибудь может помочь, пожалуйста?