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

yipeiwu_com5年前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设计】的支持。

相关文章

在windows系统中实现python3安装lxml

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不...

Python配置虚拟环境图文步骤

Python配置虚拟环境图文步骤

使用Python进行项目开发时,由于不同的项目需要,可能会配置多个开发环境,不同开发环境之间的项目依赖包如果混合在一起,可能会引起意想不到的错误,本文主要介绍如何通过虚拟环境隔离不同开发...

python基础教程之自定义函数介绍

函数最重要的目的是方便我们重复使用相同的一段程序。 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。 函数的定义 首先,我们要定义...

python不换行之end=与逗号的意思及用途

在python中我们偶尔会用到输出不换行的效果,python2中使用逗号,即可,而python3中使用end=''来实现的,这里简单为大家介绍一下,需要的朋友可以参考下 python输出...

Python程序员开发中常犯的10个错误

Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库。与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块。   在平时的工作中,Python开发...