Django中reverse反转并且传递参数的方法


Posted in Python onAugust 06, 2019

在写项目的过程中,有些函数不可避免的需要传入参数进去,所以我们在使用reverse进行反转时也需要传递参数。这个时候我们就可以使用 ‘reverse()' 中的 kwargs 参数了,它将传入一个字典形式的变量。kwargs 也支持传入多个参数

示例代码

首先在Django项目中新建一个‘reverse'的app用来测试。

在views.py中写入以下代码

from django.shortcuts import render,redirect,reverse
from django.http import HttpResponse

# Create your views here.
def index(request):
  username = request.GET.get('username')
  if username:
    return HttpResponse('首页')
  else:
    url = reverse('reverse:userInfo',kwargs={'user_id':10})
    return redirect(url)

def login(request):
  return HttpResponse('登录页面')

def userInfo(request,user_id):
  text = '你的id是: %s' % user_id
  return HttpResponse(text)

然后新建一个urls.py文件,写入代码

from django.urls import path
from . import views

app_name = 'reverse'

urlpatterns = [
  path('',views.index,name = 'index'),
  path('login/',views.login,name = 'login'),
  path('userInfo/<user_id>/',views.userInfo,name = 'userInfo')
]

在主urls.py中将reverse的urls包含进去

from django.urls import path,include

urlpatterns = [
 path('user/',include('reverse.urls'))
]

然后输入就可以网址进行测试了。

如果想要添加查询字符串的参数,则必须手动的进行拼接。示例代码如下:

url = reverse('<反转回的url地址>') + "?<查询字符窜参数>=<查询字符窜的值>"
return redirect(url)

以上这篇Django中reverse反转并且传递参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
phpsir 开发 一个检测百度关键字网站排名的python 程序
Sep 17 Python
对于Python中线程问题的简单讲解
Apr 03 Python
详解Python中的正则表达式的用法
Apr 09 Python
Python获取央视节目单的实现代码
Jul 25 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
Django中URL的参数传递的实现
Aug 04 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
Python序列化pickle模块使用详解
Mar 05 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
Python如何执行精确的浮点数运算
Jul 31 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 #Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 #Python
对Django 转发和重定向的实例详解
Aug 06 #Python
django 环境变量配置过程详解
Aug 06 #Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 #Python
如何在Django配置文件里配置session链接
Aug 06 #Python
在django中,关于session的通用设置方法
Aug 06 #Python
You might like
php实现插入排序
2015/03/29 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
超市营业员求职简历的自我评价
2013/10/17 职场文书
寒假思想汇报
2014/01/10 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
入团介绍人意见范文
2015/06/04 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
文明礼貌主题班会
2015/08/14 职场文书
Redis基本数据类型List常用操作命令
2022/06/01 Redis
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers