django第三天(路由基础和路由分配)

路由基础
url(正则路径,视图函数地址,默认关键字参数,路由别名)
路由由上而下匹配,
""可以匹配任意路由
"^$"来匹配"/"
url("index/$",views.error)
url("index",views.index)
路由先从上到下匹配一次,匹配不上会自动添加/再匹配一次,故index匹配到index
如果想取消默认添加/
①注释掉settings.py MIDDLEWARE = [.middleware.common.CommonMiddleware]
②将APPEND_SLASH设置为False
有名无名分组
无名分组
路由端:
url(r"^login/(\d+)/$",views.login)
视图函数端:
def login(request,var)

有名分组
路由端:
url(r"^login/(?P<user>\d+)/(?P<pwd>\d+)/$",views.login)
视图函数端:
def login(request,user,pwd)
#注:有名无名不能混用
多app共存的路由分配
在主路由中有多个app,防止视图函数冲突
①视图函数命名加上项目名app01_login
②import app01,app02
url(r"^app01/login/$",app01.login)
③路由分发
1.在每一个应用中建立自身的urls.py文件,语法同主路由
2.在主路由进行分发
from django.conf.urls import include
urlpatterns = [
    url(r'^app01/',include('app01.urls')),
    url(r"^app02/",include('app02.urls'))
]
多app共存时模板冲突问题
多app共存时,可能存在相同的功能,转跳相同名称的html(模板),造成模板冲突
解决方法:
    ①模板名前面加上项目app01_login.html
    ②在根目录的templates下创建项目名相同的文件夹,render(request,"app_name/login.html")

转载于:https://www.cnblogs.com/robert-zhou/p/10478843.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值