Django框架学习(一)

url路由分配及模板渲染方式

新建Django项目 目录及文件说明

在这里插入图片描述

url基本概念及格式

概念

大家想想咱们平时访问网站是不是通过我们知道的 url 进行访问,而且要输入正确的 url 才能成功的访问。 URL(Uniform Resoure Locator)统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

格式

在这里插入图片描述

urls.py 的作用

URL 配置(URLconf)就像是Django所有支撑网站的目录。它的本质是URL模式以及要为该URL模式调用视图函数之间的映射表。以这样的方式告诉Django,对于哪个URL调用哪段代码。url的加载就是从配置文件中开始。

url 例子

定义一个 index1 视图函数
在这里插入图片描述
创建 一个 index1 路由 注意:一般路由配置应与视图函数名一致,便于寻找
在这里插入图片描述
启动服务后,当我们输入正确的 ur l进行访问,才会调用对应的视图函数。页面会显示 :‘这里是Django设置路由’ 这句话
在这里插入图片描述
而当我们输入的 url 与后台配置的 url 不一致,则找不到页面。
在这里插入图片描述

path 基本规则

在这里插入图片描述

例子

定义一个 show 的视图函数 number 为参数
在这里插入图片描述
创建对应的 路由 show 因视图函数中存在参数 设置路由需传递一个参数,<int:number> 为传递的参数 int 为转换器 说明传的参数一定要是数字
在这里插入图片描述
设置完成后,进行访问,第一次访问我们试试不带参数,结果显示 404
在这里插入图片描述
第二次我们传递一个不全是数字的参数进行访问,结果还是找不到页面
在这里插入图片描述
第三次我们 输入一个纯数字的参数进行访问, 结果成功的返回了 视图函数 中的结果
在这里插入图片描述

转换器

一般常用的转换器 str int ,主要记住这两个的用法
在这里插入图片描述

转换器的使用

在这里插入图片描述

re_path 基本规则

re_path 的使用 和 就是用正则的方式设置 url
在这里插入图片描述
第一个re_path 意思是 创建一个 hello 路由 ^ 表示从什么开始 $ 以什么结束
第二个re_path (?P[0-9]+) 为一个参数 [0-9] 这个参数要为纯数字, 这要符合 才会调用 test6 这个视图函数


路由分配

创建 app : 在 Linux 项目目录下输入 python manange.py startapp app_name app_name 为自定义app 名称,创建成功后在下载到pycharm中。
注意:每次创建 app 都需到主项目的 setting.py中进行注册
在这里插入图片描述

include 的作用

一个project有一个总的 urls.py,各个app也可以自己建立自己的 urls.py,用include()函数在 projec t的urls.py文件进行注册

在这里插入图片描述
注册成功后我们到 book APP 中 设置 url 以及视图函数 注意:主项目的 path(‘admin’) 是唯一的,且 APP 创建urls.py后 urlpatterns 的格式一定要有 否则 报错
在这里插入图片描述
在这里插入图片描述
分配路由 设置 APP中的路由 和 视图函数后 进行访问
注意: 在没有分配路由时, 设置路由 以及视图函数 是没法进行访问的
在这里插入图片描述

kwrags 的作用

接受传递的参数,一般用于主路由在分配路由时需要向APP传递参数时使用,当给APP分配路由时传递参数,则APP的视图函数都需要 设置 **kwrags 进行接受, 视图函数中可以通过关键字参数kwrags.get('key')获取到传递的值。如上图注释中有说明。

页面重定向

使用重定向可以减少网站客户流量的损失,就算就网站已经不能用了,但客户访问这个旧网站就能跳转到新的网站
在这里插入图片描述

首先我们以book APP 为例 设置两个 old new 两个路由,表示 一个旧网站,一个新网站
在这里插入图片描述
定义对应的视图函数
在这里插入图片描述
当我们访问 旧的网址时,页面会自动重定向到新的网站

name 的作用

给name参数可以给这个url取一个合适的名字。通过给url取名字,以后在view或者模板中使用这个URL,就只需要通过这个名字就可以了。这样做的原因是防止url的规则更改,会导致其他地方用了这个url的地方都需要更改,但是如果取名字了,就不要做任何改动了。

如下图,给 new 路由 取名为 new_mv
在这里插入图片描述
使用 redirect() 以及 reverse() 方法 即可重定向到 名为 new_mv 的url
在这里插入图片描述

模板渲染

  1. 在主目录下创建一个templates目录用来存放所有的html的模板文件.
  2. templates目录里面在新建各个以app名字命名的目录来存放各个app中模板文件.
    在这里插入图片描述
  3. 将我们的设置好的存放 html 模板 的 templates 目录路径添加到DIRS中 (BASE_DIR 为项目的路径)
    在这里插入图片描述

以 book APP 为例, 图下为三种 渲染方式 最为简便、常用的为 第三种

第一种直接将html字符串硬编码HttpResponse中

第二种django.template.loader 定义了函数以加载模板

第三种使用render进行渲染
在这里插入图片描述

以上内容都为学习后的总结,如有不正确的地方,欢迎大佬指正。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值