DJANGO-URL反向解析REVERSE实例讲解

yipeiwu_com6年前Python基础

解决path中带参数的路径。

reverse(viewname,urlconf=None,args=None,Kwargs=None,current_app=None)

book/views.py

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

# Create your views here.
def index(request):
  username = request.GET.get("username")
  if username is not None:
    return HttpResponse("welcome!")
  else:
    return redirect(reverse('loose',kwargs={'a':100,'b':200}))

def error(request,a,b):
  sum=a+b
  return HttpResponse("<h1>sum:{}</h1>".format(sum))

book/urls.py

from django.urls import path
from . import views

urlpatterns = [
  path('', views.index,name='index'),
  path('error/<int:a>/<int:b>', views.error,name='loose'),
]

大体过程:启动服务器后会调用views中index函数,由于没有username参数,会重定向到loose(views.error的命名空间),即会调用error函数,此时有两个参数a,b,需要通过reverse才能够传下去。

以上就是本次介绍的全部相关知识点,感谢大家的学习和对【听图阁-专注于Python设计】的支持。

相关文章

Django中对数据查询结果进行排序的方法

在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序。 那么,使用 order_by() 这个方法就可以搞定了。 >>> Pub...

Python 调用PIL库失败的解决方法

今天学习Python的时候,需要安装一个第三方库,Python Imaging Library,是Python下面一个非常强大的处理图像的工具库,不过PIL目前只支持到Python2.7...

python多线程并发让两个LED同时亮的方法

python多线程并发让两个LED同时亮的方法

在做毕业设计的过程中,想对多个传感器让他们同时并发执行。之前想到 light_red() light_blue() 分别在两个shell脚本中同时运行,但是这样太麻烦了。后来学到了Pyt...

深入理解Python中的 __new__ 和 __init__及区别介绍

本文的目的是讨论Python中 __new__ 和 __ini___ 的用法。 __new__ 和 __init__ 的区别主要表现在:1. 它自身的区别;2. 及在Python中新式类...

python多线程threading.Lock锁用法实例

本文实例讲述了python多线程threading.Lock锁的用法实例,分享给大家供大家参考。具体分析如下: python的锁可以独立提取出来 复制代码 代码如下:mutex = th...