Как исправить ошибку «Страница не найдена (404)» в Django? - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь создать ресторанный сайт для изучения Джанго. Сайт очень простой, но я стараюсь сделать его немного динамичным. Например: когда пользователь нажимает кнопку «Обед», URL-адрес меняется на "http://127.0.0.1:8000/menu/Lunch/", отображается меню обеда и т. Д. (Конечно, я делаю один файл шаблона для этого). Я сделал следующее реализации, и я получаю "Страница не найдена (404)" ошибка. Помогите мне, пожалуйста.

Мой urls.py выглядит так:

 urlpatterns = [
  path('', views.index, name="index"),
  path('menu/', views.menu, name="menu"),
  path('menu/<str:menu_category>/', views.menu_detail, name="menu_detail"),
 ]

Мой views.py выглядит так:

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})

Кроме того, я создал файл menu_detail.html в разделе "restaurant / templates", и у меня указан правильный путь в settings.py.

РЕДАКТИРОВАТЬ:

Мои модели выглядят так:

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/')
...