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判断端口是否打开的实现代码
Feb 10 Python
python实现根据月份和日期得到星座的方法
Mar 27 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
简单介绍Python中的struct模块
Apr 28 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
python图片验证码生成代码
Jul 02 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 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备份/还原MySQL数据库的代码
2011/01/06 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
JS trim去空格的最佳实践
2011/10/30 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
Python合并多个装饰器小技巧
2015/04/28 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python简单I/O操作示例
2019/03/18 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
python中def是做什么的
2020/06/10 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
工程部主管岗位职责
2015/02/12 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
大国崛起观后感
2015/06/02 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
PHP解决高并发问题
2021/04/01 PHP
python flappy bird小游戏分步实现流程
2022/02/15 Python