如何修复Django中的“找不到页面(404)”错误?

时间:2019-01-07 14:59:41

标签: django django-templates django-views

我正在尝试建立一个餐厅网站来学习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/')

0 个答案:

没有答案