一、设置路由分发规则
一个完整的路由包含 :路由地址 、视图函数(或视图类) 、路由变量 和路由命名 。在默认情况下,设置路由地址是在项目同名文件夹的 urls.py 文件里实现。
为了区分各个项目应用的路由地址,所以我们分开存放。在index 、commodity 、shopper 里面创建新的 urls.py 文件 将新文件命名为 urls.py 就可以了
编写主路由
在babies 文件夹下面的 urls.py 里添加:
path('', include(('index.urls', 'index'), namespace='index')),
path('commodity', include(('commodity.urls', 'commodity'), namespace='commodity')),
path('shopper', include(('shopper.urls', 'shopper'), namespace='shopper')),
二、设置商城的路由地址
1、index 中的 urls.py
from django.urls import path
from .views import *
urlpatterns = [
path('', indexView, name='index'),
]
2、commodity 中的 urls.py
from django.urls import path
from .views import *
urlpatterns = [
path('.html', commodityView, name='commodity'),
path('/detail.<int:id>.html', detailView, name='detail'),
]
3、shopper 中的 urls.py
from django.urls import path
from .views import *
urlpatterns = [
path('.html', shopperView, name='shopper'),
path('/login.html', loginView, name='login'),
path('/logout.html', logoutView, name='logout'),
path('/shopcart.html', shopcartView, name='shopcart'),
]
三、关于各 urls.py 里面的报错
那是因为视图中第二个参数是视图函数的名字,而我们并没有在各应用中的 views.py 中定义任何视图函数,所以才会报错。那就来定义一些简单的视图函数吧。
1、index 里面的 views.py
from django.shortcuts import render
def indexView(request):
return render(request, 'index.html')
2、commodity 里面的 views.py
from django.shortcuts import render
def commodityView(request):
return render(request, 'commodity.html')
def detailView(request):
return render(request, 'details.html')
3、shopper 里面的 views.py
from django.shortcuts import render
def shopperView(request):
return render(request, 'shopper.html')
def loginView(request):
return render(request, 'login.html')
def logoutView(request):
return render(request)
def shopcartView(request):
return render(request, 'shopcart.html')
这样一来项目就又可以运行了。
|