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使用htpasswd实现基本认证授权的例子
Jun 10 Python
Linux下编译安装MySQL-Python教程
Feb 02 Python
Python实现查看系统启动项功能示例
May 10 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
python实现机器学习之多元线性回归
Sep 06 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
Python 如何在字符串中插入变量
Aug 01 Python
简述python Scrapy框架
Aug 17 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 Python
了解一下python内建模块collections
Sep 07 Python
Python语法学习之进程的创建与常用方法详解
Apr 08 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
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
js电话号码验证方法
2015/09/28 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
python 性能提升的几种方法
2016/07/15 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python语言中with as的用法使用详解
2018/02/23 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
python的faker库用法
2019/11/28 Python
Python修改列表值问题解决方案
2020/03/06 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
魅力教师事迹材料
2014/01/10 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
银行求职自荐书
2014/06/25 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
2015年暑假工作总结
2015/07/13 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP