Django学习---3.商城网址规划与设计

学习项目地址:   GitHub - xyjw/Django3-Web: Django book 

 

设置路由分发规则

Django默认情况下设置路由URL是在项目同名文件夹urls.py文件,也是有settings.py文件的ROOR_URLCONF决定

一个项目可能包含多个项目应用(APP)如index, commodity, shoper等,而urls.py文件是整个项目URL的总入口,如果项目应用过多就会不易于管理,因此可以在每个项目应用中建立urls.py,而在项目Babys下的urls.py中定义各个应用的路由入口可以方便管理。

Babys.urls配置:

from django.conf import settings
from django.contrib import admin
from django.urls import path, re_path, include
from django.views.static import serve

urlpatterns = [
    path('admin/', admin.site.urls),
    # 添加项目应用index, commodity, shopper的urls入口
    path('', include(('index.urls', 'index'), namespace='index')),
    path('commodity', include(('commodity.urls', 'commodity'), namespace='commodity')),
    path('shopper', include(('shopper.urls', 'shopper'), namespace='shopper')),
    # 配置媒体资源的路由信息
    re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}, name='media'),
]

 项目应用(APP)路由地址设置

上面已经在Babys文件夹的urls.py分别为项目应用index, commondity, shopper设置了路由分发下面对各个项目应用设置具体路由信息。

需要在index文件夹下建立urls.py文件,并配置信息

# index.urls
from django.urls import path
from .views import *

#这里报错indexView目前还没定义,可以暂时在那个文件中定义一个空函数
urlpatterns = [
    path('', indexView, name='index'),
]


#commodiy.urls
from django.urls import path
from .views import *

urlpatterns = [
    path('.html', commodityView, name='commodity'),
    path('/detail.<int:id>.html', detailView, name='detail'),
]


# shopper.urls
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'),
]

 

 路由变量与正则表达式

Django路由变量:str, slug(路由解释性字符任意ASCII字符,连接线,下划线)“13-sui-de-hai-zi”

int, uuid(必须使用-:152-5678-1902)

<year> :字符型year

<int: month> 整型month

<slug: day> slug型day

re_path('(?P<year>[0-9]{4})')/(?P<month>[0-9]{2}/(?P<day>[0-9]{2}).html, ....)

  •  正则以re_path开始
  •  ?P 固定格式
  • [0-9]{4}  取值0-9,4位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值