7. url反向解析和静态文件
2024-09-08 03:01:14
一、代码中url出现的位置
1.模版【html】中
1.<a href='urk'>超链接点击跳转<a/>
2.<form action='url' method='post'>
2.视图函数中 -302重定向跳转 HttpResponseRedirect('url')
二、代码中url书写规范及解析规则
1.绝对地址
2.相对地址
1. /page/1 开头的相对地址,浏览器会把当前地址栏里的协议、ip和端口加上这个地址,作为最终访问地址,如果当前页面地址栏为http://127.0.0.1:8000/page/3 ,当前相对地址最终结果为 http://127.0.0.1:8000/page/1
2.page/1 没有/开头的相对地址,浏览器会根据当前url的最后一个/之前的内容加上该相对地址作为最终访问地址,例如当前页面地址为http://127.0.0.1:8000/topic/detail,则相对地址最终结果为http://127.0.0.1:8000/topic/page/1
三、URL反向解析
1.概念
url反向解析是指在视图或模版中,用path定义的名称来动态查找或计算出相应的内容
path函数语法
path('route',views,name='别名')
根据path中的name=关键字传参给url确定了一个唯一确定的名字,在模版或者视图中,可以通过这个名字反向推断出此url信息
2.模版中通过url标签实现地址的反向解析
在需要填写路由地址的地方 使用url标签
语法:
{% url '别名' %} #用空格隔开,url标签后 跟路由的别名,最终路径为该路由地址
{% url '别名' '其他参数' '其他参数' param = 'test ' ...%} #该语法括号内可以跟其他需要传递的参数,以空格隔开
3.在视图中使用 -> 调用Django的reverse方法进行解析
导包 from django.urls import reverse
语法:
reverse('别名',args=[],kwargs={})
reverse()方法后也可以传递该路由需要的参数
四、静态文件
如图片、css、js、视频等
五、静态文件配置及使用
配置在settings中
1.配置静态文件等访问路径【该配置默认存在】
通过哪个url地址找静态文件
STATIC_URL = '/static/'
说明
指定访问静态文件时时需要通过/static/xxx 或者 http://127.0.0.1:8000/static/xxx
xxx表示具体的静态资源位置
2.配置静态文件的存储路径 STATICFILES_DIRS
STATICFILES_DIRS保存的是静态文件在服务器端存储的位置
如果配置项的值是元组,括号结尾一定要加逗号
在项目下创建static静态文件夹,配置中使用op.path.join拼接项目路径与静态文件夹路径,静态配置文件/夹名字可以自定义
匹配逻辑:STATIC_URL配置以/static/开头的文件表明是静态文件,去STATICFILES_DIRS找到静态文件的储存路径进行加载
使用语法
1.直接拼接访问路径
2.通过{% static %}标签访问静态文件
1.加载static {% load static %}
2.使用静态资源路径 {% static '要使用的静态资源路径' %}
页面加载一次静态资源文件夹即可,可以写在页面顶部,其他地方可以直接使用标签进行访问
最新文章
- WireShar使用笔记
- python基础-基本数据类型总结_整型(int)_字符型(str)_day3
- IOS 异步加载图片
- CSS skills: 3) show sub-navigate items when mouse hove on nav-item
- Oracle Enterprise linux 7 安装Oracle11gR2
- ios字符串截取
- Spark学习体系
- Linux高性能server规划——多线程编程(在)
- mr本地运行的几种模式
- FOJ 11月月赛题解
- TypeScript入门(二)函数新特性
- libavcodev may be vulnerable or is not supported, and should be updated for play video
- 二、springboot使用jpa
- 劳德巴赫下载kernel和文件系统时问题
- Python3.7 Scrapy crawl 运行出错解决方法
- C# WebSocket Fleck 调用非托管C++ DLL 实现通信(使用stringbuilder接收)
- java中获取两个时间中的每一天
- python中如何删除列表中的所有元素
- vertica导出导入数据
- C#通过代码调用PowerShell