我正在尝试建立一个餐厅网站来学习Django。该站点非常简单,但我正在尝试使该站点变得很少动态。例如:当用户单击午餐时,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})
此外,我在“ restaurant / templates”下制作了menu_detail.html文件,并且在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/')