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 相关文章推荐
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
详谈Python基础之内置函数和递归
Jun 21 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
python的命名规则知识点总结
Oct 04 Python
解析Python3中的Import
Oct 13 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
python 实现两个变量值进行交换的n种操作
Jun 02 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
Aug 02 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
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
javascript 函数调用规则
2009/08/26 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
使用js画图之画切线
2015/01/12 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python制作最美应用的爬虫
2015/10/28 Python
python使用fork实现守护进程的方法
2017/11/16 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python序列类型种类详解
2020/02/26 Python
简历自我评价怎么写好呢?
2014/01/04 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
医院搬迁方案
2014/06/14 职场文书
发票退票证明
2015/06/24 职场文书
党员发展大会主持词
2015/07/03 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python
python游戏开发Pygame框架
2022/04/22 Python