使用Models.py中使用的选项在Django中路由页面

时间:2019-01-02 17:10:54

标签: django django-models django-templates django-views django-urls

我在Django中启动了一个项目,在那里我创建了一个新的餐厅网站。我最初的想法是制作这样的模型:

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','Lunch'),.....]

现在,我在索引页面上具有此按钮,该按钮可路由到菜单页面。 在“菜单”页面中,我正在考虑用[名称]显示[n]个图块(n =类别选择中的元素数,名称=全名例如:午餐)

在收到很多错误并找出每个错误之后,我已经完成了这项任务。 现在,此后,我想在用户单击特定类别的菜单时打开。例如:如果用户单击“午餐”图块,则应转到其他页面,该页面列出了该类别食物的所有列表。我的网址格式如下:

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 %}">

我不知道我做错了什么。但是浏览.... / menu /时出现 ReverseMatchException 。也许这对我来说太复杂了,因为我是这个领域的新手。有人可以帮忙吗?

0 个答案:

没有答案