Django实战教程: 开发餐厅在线点评网站(2)

本文是Django实战教程的第二部分,主要介绍如何开发餐厅在线点评网站的剩余功能,包括查看餐厅列表和详情、创建及修改餐厅、添加菜品、评论和评分。文章详细讲解了urls.py、views.py、forms.py和模板的实现,强调了通用视图的使用和URL参数传递技巧。
摘要由CSDN通过智能技术生成

orning! 最近关注本公众号的人很多,小编我真有点小激动。上篇文章中没发小姐姐的福利图,立马就有人来问了。我不禁内心一凉。亲们,你们关注本公众号不会是为了福利图而来的吧?话不多说,小编我今天接着分享使用Django开发一个餐厅在线点评网站的第2部分教程。今天的任务是开发其余4个功能性页面(见标黄部分)。

 

  • 查看餐厅(restaurants)列表 - 所有用户

  • 查看餐厅详情(包括名称,地址,电话,菜品和点评) - 所有用户

  • 创建餐厅 - 仅限登录用户

  • 修改餐厅 - 仅限登录用户,且每个用户只能修改自己创建的餐厅

  • 给餐厅添加菜品(dishes) - 仅限登录用户

  • 修改菜品信息 - 每个登录用户只能修改自己创建的菜品

  • 查看菜品详情(品名,描述, 图片和价格)

  • 给餐厅添加评论(review)和评分(rating)


在阅读本文前,请务必先完成阅读Django实战教程: 开发餐厅在线点评网站(1)。福利图照送,喜欢的给个赞! :)

 

URLconf之urls.py

小编我使用Django开发网站或APP有个习惯,一般先写urls.py再编写视图views.py。我是这么思考的: 

  • 本文中有4个功能性页面,那么我需要设计4个urls,并编写4个视图处理方法与之对应。

  • 根据功能性页面的需求,我可以更好地思考需要通过url给视图传递哪些参数。比如创建菜品时,我们还需要通过URL传递餐厅的id值(<pk>)。因为一个餐厅对应多个菜品。

from django.urls import path, re_path
from . import views

# namespace
app_name = 'myrestaurants'

urlpatterns = [
# 前4个功能性页面的URL见教程第一部分

# 创建菜品 ex.: /myrestaurants/restaurant/1/dishes/create/
    re_path(r'^restaurant/(?P<pk>\d+)/dishes/create/$',
        views.DishCreate.as_view(), name='dish_create'),

# 编辑菜品, ex.: /myrestaurants/restaurant/1/dishes/1/edit/
    re_path(r'^restaurant/(?P<pkr>\d+)/dishes/(?P<pk>\d+)/edit/$',
       views.DishEdit.as_view(), name='dish_edit'),
    
# 查看菜品信息 ex: /myrestaurants/restaurants/1/dishes/1/
    re_path(r'^restaurant/(?P<pkr>\d+)/dishes/(?P<pk>\d+)/$',
        views.DishDetail.as_view(), name='dish_detail'),

# 创建餐厅评论, /myrestaura
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值