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 16 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
python socket网络编程之粘包问题详解
Apr 28 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
Python简单处理坐标排序问题示例
Jul 11 Python
python通过http下载文件的方法详解
Jul 26 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
python遍历路径破解表单的示例
Nov 21 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 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来检测proxy
2006/10/09 PHP
NT IIS下用ODBC连接数据库
2006/10/09 PHP
global.php
2006/12/09 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
js prototype截取字符串函数
2010/04/01 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
python的pdb调试命令的命令整理及实例
2017/07/12 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
个人求职信范文分享
2013/12/13 职场文书
打架检讨书300字
2014/02/02 职场文书
白莲教口号
2014/06/18 职场文书
会计人员岗位职责
2015/02/03 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android