一周学会Django5 Python Web开发-Django5路由重定向

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/重定向称为HTTP协议重定向,也可以称为网页跳转,它对应的HTTP状态码为301、302、303、307、308。简单来说,网页重定向就是在浏览器访问某个网页的时候,这个网页不提供响应内容,而是自动跳转到其他网址,由其他网址来生成响应内容。

Django的网页重定向有两种方式:

第一种方式是路由重定向;

第二种方式是自定义视图的重定向。

两种重定向方式各有优点,前者是使用Django内置的视图类RedirectView实现的,默认支持HTTP的GET请求;后者是在自定义视图的响应状态设置重定向,能让开发者实现多方面的开发需求。

我们分别用实例来演示下这两种方式:

路由重定向

路由重定向方式,我们用RedirectView实现,在urls.py里面,我们再加一个路由代码:

path('redirectTo', RedirectView.as_view(url="index/"))

请求redirectTo,直接重定向到 index/ 地址

运行测试,请求:

http://127.0.0.1:8000/redirectTo

自动重定向到index,状态是302。

自定义视图重定向

更多的情况,我们平时开发用的是自定义视图重定向,视图代码里,通过逻辑判断,通过redirect方法来实现具体的页面重定向,使用更加灵活。

我们改造下前面的views.py下的blog函数:假如id是0,重定向到错误静态页面。

def blog(request, id):
    if id == 0:
        return redirect("/static/error.html")
    else:
        return HttpResponse('id是' + str(id) + "的博客页面")

static目录下新建一个error.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
系统运行有问题!
</body>
</html>

当然你也可以项目根目录下再新建一个目录,比如common,然后 STATICFILES_DIRS 静态资源文件集合里,加下 BASE_DIR / "common",把error.html放到common目录下,我们也是可以通过static/请求地址访问的。当然如果你觉得static/请求名称不好,也可以修改 STATIC_URL 参数 比如 改成 common/ 也行,你就可以通过 common/ 也访问你的静态资源文件。

我们访问

http://127.0.0.1:8000/blog/0

302状态,自动跳转到了error.html错误页面。

访问其他id是正常的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图片速览 PrintListener: 通过手指摩擦声发现指纹认证漏洞

原有一些方法主要是用字典猜测的方式来解锁的&#xff0c;文章的方法利用了用户滑手机屏幕产生的声音来辅助指纹的生成&#xff0c;且本文所提方案的准确性要更高(文章采样了各种环境、各种情况的数据&#xff0c;详见原文)。 PrintListener的攻击场景广泛且隐蔽。它只需要记录…

小米标准模组+MCU 快速上手开发(一)——之固件下载

小米标准模组+MCU 开发笔记之固件下载 背景技术名词简介● 小米IoT开发者平台● 小米IoT 模组● ESP系列简介问题描述 + 解决方式问题1:固件下载是否有示例,如何下载到硬件板卡中?问题2:固件下载的官方程序是什么?在哪里?该如何使用?问题3:固件下载时,Flash和Ram 有什…

安全这么卷了吗?北京,渗透,4k,不包吃住,非实习

起初某HR找人发了条招聘信息 看到被卷到4k一个月被震惊到了 随后发布了朋友圈&#xff0c;引起来众多讨论 对此网友发表众多评价 越来越卷的工作现象确实是一个普遍存在的问题 另外&#xff0c;也可以考虑和雇主沟通&#xff0c; 寻求更合理的工作安排&#xff0c; 或者…

C#,大规模图(Large Graph)的均匀成本搜索之迪杰斯特拉(Dijkstra)算法与源代码

1 均匀成本搜索 均匀成本搜索是迪杰斯特拉算法的变体。这里&#xff0c;我们不是将所有顶点插入到一个优先级队列中&#xff0c;而是只插入源&#xff0c;然后在需要时一个接一个地插入。在每一步中&#xff0c;我们检查项目是否已经在优先级队列中(使用访问数组)。如果是&…

flink反压

flink反压&#xff08;backpressure&#xff09;&#xff0c;简单来说就是当接收方的接收速率低于发送方的发送速率&#xff0c;这时如果不做处理就会导致接收方的数据积压越来越多直到内存溢出&#xff0c;所以此时需要一个机制来根据接收方的状态反过来限制发送方的发送速率&…

精英ECS Z97-MACHINE V1.0 BIOS MX25L6406E

官网上的两个BIOS我都无法亮机&#xff0c;这是我保存出来的BIOS&#xff0c;不知道是否能使用五代的处理器 官网&#xff1a;Z97-MACHINE&#xff5c;Motherboard&#xff5c;产品&#xff5c;ECS 精英电脑 国外老哥的看法&#xff1a;ECS Z97-MACHINE Closer Look: The BIO…

手拉手助成长社会融合实践活动之新春送温暖

2月21日上午来自合肥市第四十五中学橡树湾校区七(15)中队、共青团合肥市第六中学2023级36班委员会的40多名同学&#xff0c;带来了龙年的礼物看望陪伴合肥市庐阳区为民社会工作服务中心幸福小院的兄弟姐妹。 大家详细地了解了幸福小院孩子们学习、康复和社会实践及能力提升情况…

CSS列表学习2

之前学习了列表&#xff1b;继续熟悉&#xff1b; <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/><title></title><meta charset"utf-8" /><…

通用性技术底座AI大模型与各行业专用性AI小模型搭建(第二篇)

五、小模型架构选择问题 在选择行业专用AI小模型的架构时&#xff0c;需要考虑以下几个关键因素&#xff1a; 1. **任务类型**&#xff1a; - 不同的任务类型&#xff08;如分类、回归、序列生成、图像识别等&#xff09;对应着不同的模型结构。例如&#xff0c;文本分类问…

Ansible cron模块 适用于管理计划任务 设置多个计划任务

目录 选项添加一个计划任务检查是否添加成功删除计划任务检查是否执行成功 选项 其使用的语法跟我们的crontab文件中的语法一致&#xff0c;同时&#xff0c;可以指定以下选项&#xff1a; day #日应该运行的工作( 1-31, , /2, ) hour # 小时 ( 0-23, , /2, ) minute #分钟( 0…

Leetcode 26-30题

删除有序数组中的重复项 给定一个有序数组&#xff0c;要求原地删除重复出现的元素&#xff0c;返回删除后的数组的长度。 这里的原地删除其实可以这样表示&#xff0c;用双指针从前往后扫一遍&#xff0c;遇到新的没出现过的元素就放到前面去&#xff0c;就可以实现删除后的数…

【杭州游戏业:创业热土,政策先行】

在前面的文章中&#xff0c;我们探讨了上海、北京、广州、深圳等城市的游戏产业现状。现在&#xff0c;我们切换视角&#xff0c;来看看另一个游戏创业热土——杭州的发展情况 最近第19届亚运会在杭州举办&#xff0c;本次亚运会上&#xff0c;电子竞技首次获准列为正式比赛项…

了解 Kubernetes

1 Kubernetes概述 1.1 k8s是什么 K8S 的全称为 Kubernetes (K12345678S)&#xff0c;PS&#xff1a;“嘛&#xff0c;写全称也太累了吧&#xff0c;不如整个缩写” 作用&#xff1a; 用于自动部署、扩展和管理“容器化&#xff08;containerized&#xff09;应用程序”的开…

Manacher算法和扩展kmp

Manacher算法 a情况 b情况 具体例子 c情况 总结 代码 #include<iostream> #include<algorithm> #include<string> #include<cmath>using namespace std; const int N 1.1e7 1; char ss[N << 1]; int p[N << 1]; int n; void manacherss…

vue中使用AraleQRCode生成二维码

vue中使用AraleQRCode生成二维码 问题背景 本文介绍vue中生成二维码的一种方案&#xff0c;使用AraleQRCode来实现。 问题分析 &#xff08;1&#xff09;安装对应的依赖包 npm i arale-qrcode --save &#xff08;2&#xff09;完整代码如下: <template><!-…

深入解析SDRAM:从工作原理到实际应用

深入解析SDRAM&#xff1a;从工作原理到实际应用 在众多内存技术中&#xff0c;同步动态随机访问存储器&#xff08;SDRAM&#xff09;因其出色的性能和广泛的应用而备受关注。本文将从SDRAM的工作原理入手&#xff0c;探讨其性能优化策略和在现代电子设备中的应用。 SDRAM工作…

多系统集成分析——WMS系统与PLM、ERP、MES、智库、WCS、AGV、OA系统的关联

多系统集成分析——WMS系统与PLM、ERP、MES、智库、WCS、AGV、OA系统的关联 原创 西游暖暖 白话聊IT 2024-02-19 00:06 天津 首先分享一个已上线的智能工厂架构图&#xff1a;智能制造全场景下&#xff0c;将WMS定位于不仅是仓储执行管理系统&#xff0c;更作为连接全方案的“…

企业数据资产入表路径及方法完整解析

源自&#xff1a;架构老人 “人工智能技术与咨询” 发布 01政策、背景、趋势 一、数字资源如表国家政策 为规范企业数据资源相关会计处理&#xff0c;强化相关会计信息披露&#xff0c;财政部制定印发了《企业数据资源相关会计处理暂行规定》&#xff08;以下简称《暂行规…

JVM工作原理与实战(三十九):G1垃圾回收器原理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、G1垃圾回收器 1.G1垃圾回收器执行流程 二、年轻代回收 1.年轻代回收原理 2.卡表(Card Table) 3.记忆集的生成流程 4.年轻代回收的详细步骤 5.G1年轻代回收核心技术总结 三、…

超声波清洗机应该怎么选?这几款超声波清洗机错后悔!

科技让我们的生活变得方便了许多&#xff0c;比如&#xff0c;自从有了超声波清洗机之后&#xff0c;有些人就改变了眼镜必须要手洗的想法&#xff0c;许多研究也证明&#xff0c;单靠手洗是无法眼镜内缝隙中的污渍彻底清洗干净的&#xff0c;一台专门的超声波清洗机就可以减轻…