在项目的主目录 urls.py 文件中,配置 用户、商品、订单、购物车的主路由。
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/', include("users.urls")),
url(r'^cart/', include("cart.urls")),
url(r'^orders/', include("orders.urls")),
url(r'^', include("goods.urls")),
]
① 用户应用的路由
注册、登录、激活、退出、用户地址、用户中心
from django.conf.urls import url
from users import views
from django.contrib.auth.decorators import login_required
app_name = "users"
urlpatterns = [
# url(r'^register$', views.register, name="register"),
url(r'^register$', views.RegisterView.as_view(), name="register"),
url(r'^active/(?P<token>.+)$', views.ActiveView.as_view(), name="active"),
url(r'^login$', views.LoginView.as_view(), name="login"),
url(r'^logout$', views.LogoutView.as_view(), name="logout"),
# url(r'^address$', login_required(views.AddressView.as_view()), name="address"),
url(r'^address$', views.AddressView.as_view(), name="address"),
url(r'^info$', views.UserInfoView.as_view(), name="info"),
]
② 商品应用的路由
主页、商品详情页、商品列表页
from django.conf.urls import url
from goods import views
app_name = "goods"
urlpatterns = [
url(r"^index$", views.IndexView.as_view(), name="index"),
url(r"^detail/(?P<sku_id>\d+)$", views.DetailView.as_view(), name="detail"),
url(r"^list/(?P<category_id>\d+)/(?P<page>\d+)$", views.ListView.as_view(), name="list"),
]
③ 订单应用的路由
订单确认、提交订单、用户订单、订单评论、支付、查询支付结果
from django.conf.urls import url
from orders import views
app_name = "orders"
urlpatterns = [
url(r"^place$", views.PlaceOrderView.as_view(), name="place"),
url(r"^commit$", views.CommitOrderView.as_view(), name="commit"),
url('^(?P<page>\d+)$', views.UserOrdersView.as_view(), name="info"),
url('^comment/(?P<order_id>\d+)$', views.CommentView.as_view(), name="comment"),
url('^pay$', views.PayView.as_view(), name="pay"),
url('^check_pay$', views.CheckPayStatusView.as_view(), name="check_pay"),
]
④ 购物车应用的路由
加入购物车、购物车信息、更新购物车数据、删除购物车数据
from django.conf.urls import url
from cart import views
app_name = "cart"
urlpatterns = [
url(r'^add$', views.AddCartView.as_view(), name="add"),
url(r'^$', views.CartInfoView.as_view(), name="info"),
url(r'^update$', views.UpdateCartView.as_view(), name="update"),
url(r'^delete$', views.DeleteCartView.as_view(), name="delete"),
]