Django redirect()函数实现页面重定向

1,通过路由反向解析进行重定向

1.1 添加视图函数

myshop/app2/views.py

from django.http import HttpResponse
from django.shortcuts import render
from django.urls import reverse
def index(request):return HttpResponse("app2 的index")# 反向解析
def url_reverse(request):# 使用reverse()方法反向解析print('解析结果:'+ reverse("app2_url_reverse"))  #  使用reverse()方法反向解析 ,reverse("app2_url_reverse") 对应urls的 name='app2_url_reverse'return render(request, "2/url_reverse.html")def test_get(request):print(request.get_host()) # 域名加端口print(request.build_absolute_uri()) # 获取完整的请求URI,包括查询字符串print(request.path) # 获取访问路径,不含参数print(request.get_full_path()) # 获取访问路径,不含参数print(request.method) # 获取请求中使用的HTTP方式(POST/GET)print(request.GET)  # 获取GET请求的参数print(request.META["HTTP_USER_AGENT"]) # 用户浏览器的user-agent字符串print(request.META["REMOTE_ADDR"]) # 客户端IP地址print(request.GET.get('username')) # 获取get参数return HttpResponse("")# 获取请求中的使用HTTP方式(POST/GET)
def test_post(request):print(request.method)print(request.POST.get('username'))return render(request, '2/test_post.html')def test_response(request):response = HttpResponse()response.write("<h1>hello django</h1>")response.write("<br>")response.write(response.content)response.write("<br>")response.write(response['Content-Type'])response.write("<br>")response.write(response.status_code)response.write("<br>")response.write(response.charset)response.write("<br>")return responsedef test_render(request):return render(request, '2/test_render.html', {'info':'hello django'}, content_type='text/html; charset=utf-8')from django.shortcuts import redirectdef test_redirect_views(request):return redirect('test_render')

1.2 添加路由地址

myshop/app2/views.py

from django.urls import path, re_path
from . import viewsurlpatterns = [path('index', views.index, name='index'),path('url_reverse', views.url_reverse, name='app2_url_reverse'), #  使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse")path('test_get', views.test_get, name='test_get'),path('test_post', views.test_post, name='test_post'),path('test_response', views.test_response, name='test_response'),path('test_render', views.test_render, name='test_render'),path('test_redirect_views', views.test_redirect_views, name='test_redirect_views'),]

1.3 访问页面

http://127.0.0.1:8000/app2/test_redirect_views 

重定向至http://127.0.0.1:8000/app2/test_render

 2,通过绝对的或相对的URL,让浏览器跳转到指定的URL进行重定方向

2.1 添加视图函数

myshop/app2/views.py

from django.http import HttpResponse
from django.shortcuts import render
from django.urls import reverse
def index(request):return HttpResponse("app2 的index")# 反向解析
def url_reverse(request):# 使用reverse()方法反向解析print('解析结果:'+ reverse("app2_url_reverse"))  #  使用reverse()方法反向解析 ,reverse("app2_url_reverse") 对应urls的 name='app2_url_reverse'return render(request, "2/url_reverse.html")def test_get(request):print(request.get_host()) # 域名加端口print(request.build_absolute_uri()) # 获取完整的请求URI,包括查询字符串print(request.path) # 获取访问路径,不含参数print(request.get_full_path()) # 获取访问路径,不含参数print(request.method) # 获取请求中使用的HTTP方式(POST/GET)print(request.GET)  # 获取GET请求的参数print(request.META["HTTP_USER_AGENT"]) # 用户浏览器的user-agent字符串print(request.META["REMOTE_ADDR"]) # 客户端IP地址print(request.GET.get('username')) # 获取get参数return HttpResponse("")# 获取请求中的使用HTTP方式(POST/GET)
def test_post(request):print(request.method)print(request.POST.get('username'))return render(request, '2/test_post.html')def test_response(request):response = HttpResponse()response.write("<h1>hello django</h1>")response.write("<br>")response.write(response.content)response.write("<br>")response.write(response['Content-Type'])response.write("<br>")response.write(response.status_code)response.write("<br>")response.write(response.charset)response.write("<br>")return responsedef test_render(request):return render(request, '2/test_render.html', {'info':'hello django'}, content_type='text/html; charset=utf-8')from django.shortcuts import redirectdef test_redirect_views(request):return redirect('test_render')def test_redirect_url(request):return redirect('http://www.baidu.com')

2.2 添加路由地址

myshop/app2/urls.py

from django.urls import path, re_path
from . import viewsurlpatterns = [path('index', views.index, name='index'),path('url_reverse', views.url_reverse, name='app2_url_reverse'), #  使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse")path('test_get', views.test_get, name='test_get'),path('test_post', views.test_post, name='test_post'),path('test_response', views.test_response, name='test_response'),path('test_render', views.test_render, name='test_render'),path('test_redirect_views', views.test_redirect_views, name='test_redirect_views'),path('test_redirect_url', views.test_redirect_url, name='test_redirect_url'),
]

2.3 访问页面

http://127.0.0.1:8000/app2/test_redirect_url

重定向至百度一下,你就知道 (baidu.com)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PVE安装虚拟主机

本文记录PVE安装其他虚拟主机的步骤&#xff0c;以安装win-server为例。裸机安装PVE则不是本文主题。 准备文件 获取Windows系统镜像 win server镜像可以从官网获取普通Windows镜像可从MSDN获取此外&#xff0c;安装Windows系统还需要从PVE下载特殊驱动 获取Windows必要驱动 …

康谋技术 | 自动驾驶:揭秘高精度时间同步技术(二)

在自动驾驶中&#xff0c;对车辆外界环境进行感知需要用到很多传感器的数据&#xff08;Lidar&#xff0c;Camera&#xff0c;GPS/IMU&#xff09;&#xff0c;如果计算中心接收到的各传感器消息时间不统一&#xff0c;则会造成例如障碍物识别不准等问题。 为了对各类传感器进…

提高工作效率的神器有哪些?

在这个人工智能技术蓬勃发展的时代&#xff0c;很多AI工具极大地提升我们的工作效率&#xff0c;比如很多人在用的ChatGPT、Kimi&#xff0c;它们几乎无所不能&#xff0c;小编在日常工作也用它们&#xff0c;建议想抓住AI风口&#xff0c;或者是想用这些工具提升自己的朋友去学…

windows10 安装子linux系统(WSL安装方式)

在 windows 10 平台采用了WSL安装方式安装linux子系统 1 查找自己想要安装的linux子系统 wsl --list --online 2 在线安装 个人用Debian比较多&#xff0c;这里选择Debian&#xff0c;如下图&#xff1a; wsl --install -d Debian 安装完成&#xff0c;如下&#xff1a; 相关…

【JS重点知识03】定时器—间歇函数

一&#xff1a;间歇函数的应用场景 网页倒计时是需要每个一段时间需自动执行一段代码&#xff0c;而不需要手动去触发&#xff1b;间歇函数刚好满足了这一要求&#xff1b; 二&#xff1a;间歇函数的使用 1 开启定时器 语法规范&#xff1a; 1 setInterval(匿名函数,时间)…

Java版电商平台B2B2C:多商家直播商城系统特性解析

B2B2C平台&#xff0c;立足于传统电商领域&#xff0c;同时引入了创新的商业模式。该平台不仅支持商家入驻和平台自营&#xff0c;还积极构建了一个全新的市场环境&#xff0c;旨在为各行各业及互联网创业者提供更多收益机会。 该平台以消费者需求为中心&#xff0c;帮助企业构…

PyQt5+SQLlite3基于邮箱验证的登陆注册找回系统

本期教程投稿一篇实用性的基于邮箱登陆注册找回于一体的系统&#xff0c;在日常的开发和软件应用中非常常见&#xff0c;并且也使用了逻辑与界面分离的写法&#xff0c;那这个文章将详细的为大家介绍整个流程&#xff0c;但是细节的话还需要大家自己去完善&#xff0c;也欢迎大…

人工智能的兴起和发展

人工智能的兴起 人工智能&#xff0c;artificial intelligence&#xff0c;缩写为AI。 它是随着计算机技术的发展才逐步产生并发展起来的一门学科。关于AI的定义有很多种&#xff0c;通俗一点说&#xff0c;它企图了解智能的实质&#xff0c;并生产出一种新的&#xff0c;能以…

Transformer学习(2)

这是Transformer的第二篇文章&#xff0c;上篇文章中我们了解了分词算法BPE&#xff0c;本文我们继续了解Transformer中的位置编码和核心模块——多头注意力。下篇文章就可以实现完整的Transformer架构。 位置编码 我们首先根据BPE算法得到文本切分后的子词标记&#xff0c;然…

拿捏红黑树(C++)

文章目录 前言一、红黑树介绍二、插入操作三、验证红黑树四、红黑树与AVL性能比较与应用五、总体代码总结 前言 我们之前介绍了一种AVL的高阶数据结构&#xff0c;在本篇文章中&#xff0c;我们将会介绍一种与AVL旗鼓相当的数据结构–红黑树。 我们并且会对它的部分接口进行模…

zdppy_amauth 实现给角色批量绑定权限

新增接口 api.resp.post("/auth/role_auth", amauth.role.add_auths)如何测试 如何测试能不能给指定的角色批量的添加权限呢&#xff1f; 1、需要新建一个角色2、需要拿到这个角色的ID3、需要新增三个权限4、需要拿到新增的三个权限的ID5、拿着角色ID和权限ID列表…

SSL代码签名最佳实践

代码签名就是软件发布者使用全球可信的证书颁发机构CA颁发的代码签名证书对软件代码进行签名&#xff0c;由此来验证软件开发者的真实身份&#xff0c;确保软件代码的完整性和可信任性。然而&#xff0c;攻击者一直试图渗透代码签名&#xff0c;意将恶意软件嵌入可信代码中。由…

【二叉树】Leetcode 637. 二叉树的层平均值【简单】

二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[3.00000,14.50000,11.00000] 解释&#xff1a…

必应bing国内广告怎样开户投放呢?

企业都在寻找高效、精准的营销渠道以扩大品牌影响力&#xff0c;提升市场占有率&#xff0c;作为全球第二大搜索引擎&#xff0c;微软旗下的必应Bing凭借其卓越的搜索技术和庞大的用户基础&#xff0c;成为了众多企业拓展市场的首选广告平台。在中国&#xff0c;必应Bing广告以…

vuInhub靶场实战系列-DC-6实战

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置二、信息收集2.1 主机发现2.1.1 nmap扫描存活主机2.1.2 arp-scan扫描存活主机 2.2 端口扫描2.3 指纹识别2.3.1 尝试指纹识别2.3.…

解决Mac无法上网/网络异常的方法,重置网络

解放方法 1、前往文件夹&#xff1a;/Library/Preferences/SystemConfiguration 2 、在弹窗中输入上边的地址 3 、把文件夹中除了下图未选中的文件全部删掉&#xff0c;删除时需要输入密码 4 、重启mac 电脑就搞定了。

python的一种集成开发工具:PyCharm开发工具

一. 简介 本文简单了解两种 python语言所使用的 集成开发环境&#xff1a; PyCharm、vscode。 python语言学习中&#xff0c;可以任意选中这两个集成开发环境的一种就可以。本文先来简单学习 PyCharm开发工具安装与使用。 二. python的一种集成开发工具&#xff1a;PyChar…

【LeetCode】40. 组合总和 II

组合总和 II 题目描述&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例…

Nginx的https功能

一.HTTPS功能简介 Web网站的登录页面都是使用https加密传输的&#xff0c;加密数据以保障数据的安全&#xff0c;HTTPS能够加密信息&#xff0c;以免敏感信息被第三方获取&#xff0c;所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议&#xff0c;HTTPS其实…

Springboot框架开发与实用篇之热部署 2024详解

开发与实用 手动启动热部署 热部署&#xff08;Hot Deployment&#xff09;指的是在应用程序正在运行的情况下&#xff0c;对其进行更新或修改并将这些变更应用到正在运行的应用程序中的过程。通常情况下&#xff0c;传统的部署方式需要停止应用程序、部署更新&#xff0c;然…