4. Django Url 路由基础应用
1. seheme://host:port/path/?query-string=xxx
-
scheme: 代表是访问的协议,一般为http 或者https以及ftp 等
-
host: 主机名,域名,比如www.baidu.com
-
port: 端口,当你访问一个网站的时候,浏览器默认使用80端口
-
path: 查找路径。如:www.jianshu.com/trending/now, 后面trending/now 就是path
-
query-string: 查找字符串,比如:www.baidu.com/s?wed=python ,后面的wd=python就是查找字符串
2. 多主机应用
当一个网站比较庞大的时候,每个模块就是一个独立的网站,所有子模块的网站都对应着独立的服务器
3. 多路径应用
当一个网站不是很大的时候,同样具备多个模块,每个模块只是网站下的子文件夹,所有的模块都共用一个服务器
4. URL路由的介绍和基本使用
根据用户访问提供URL在URL列表中匹配,如果匹配上,去执行相应的View中的访问,如果匹配不上,返回404错误
创建App01
在app01/views.py中创建3个方法
在djDemo01/url.py 添加路由规则:
访问如下:
首页:
电影:
电视:
娱乐:
5. URL 中传入参数
url 代码
1 from django.contrib import admin 2 from django.urls import path 3 from app01 import views as app01views 4 from django.urls import re_path 5 6 urlpatterns = [ 7 path('admin/', admin.site.urls), 8 path('',app01views.index), 9 path('tv/',app01views.tv), 10 path('movie/',app01views.movie), 11 # path('movie/detail/<movie_id>/',app01views.movie_detail), 12 re_path('movie/detail/(?P<movie_id>[0-9]{6})/(?P<type>[0-9])',app01views.movie_detail), # 使用正则movie_id 0-9 6位数字,type 类型为0-9 数字 13 path('yl/',app01views.yl) 14 ]
views 代码
1 from django.shortcuts import render 2 from django.http import HttpResponse 3 4 # Create your views here. 5 6 def index(request): 7 return HttpResponse("优酷首页") 8 9 def tv(request): 10 return HttpResponse("优酷电视剧首页") 11 12 def movie(request): 13 return HttpResponse("优酷电影首页") 14 15 def movie_detail(request,movie_id,type): 16 type_name = ["喜剧片","动作片","爱情片","纪录片","历史剧"] 17 return HttpResponse("播放电影编号为:%s! \n 播放的电影类型: %s" % (movie_id,type_name[int(type)])) 18 19 def yl(request): 20 return HttpResponse("优酷娱乐首页")
访问:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?