一、代码中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 '要使用的静态资源路径' %}
页面加载一次静态资源文件夹即可,可以写在页面顶部,其他地方可以直接使用标签进行访问
 
 

最新文章

  1. WireShar使用笔记
  2. python基础-基本数据类型总结_整型(int)_字符型(str)_day3
  3. IOS 异步加载图片
  4. CSS skills: 3) show sub-navigate items when mouse hove on nav-item
  5. Oracle Enterprise linux 7 安装Oracle11gR2
  6. ios字符串截取
  7. Spark学习体系
  8. Linux高性能server规划——多线程编程(在)
  9. mr本地运行的几种模式
  10. FOJ 11月月赛题解
  11. TypeScript入门(二)函数新特性
  12. libavcodev may be vulnerable or is not supported, and should be updated for play video
  13. 二、springboot使用jpa
  14. 劳德巴赫下载kernel和文件系统时问题
  15. Python3.7 Scrapy crawl 运行出错解决方法
  16. C# WebSocket Fleck 调用非托管C++ DLL 实现通信(使用stringbuilder接收)
  17. java中获取两个时间中的每一天
  18. python中如何删除列表中的所有元素
  19. vertica导出导入数据
  20. C#通过代码调用PowerShell

热门文章

  1. 使用 DolphinScheduler 调度 Kylin 构建
  2. 如何在Linux快速搭建一套ADB环境
  3. 在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools
  4. Jira使用浅谈篇一
  5. Minio分布式集群部署——Swarm
  6. Keepalived之简单有效的配置
  7. HDFS 伪分布式环境搭建
  8. Python入门系列(十一)一篇搞定python操作MySQL数据库
  9. 自定义View5 -塔防小游戏:第二篇防御塔随意放置
  10. electron 起步