关于Django中使用HttpResponseRedirect和reverse进行重定向

    xiaoxiao2024-10-22  73

    在使用Django进行开发时,HttpResponseRedirect算是用的比较广泛的,对于一些已有url,相较于使用render有时可以极大减少代码量,下面是我学习并总结的一些使用方法。

    以下面urls.py为例

    from django.conf.urls import url import app_one.main urlpatterns = [ url(r'^index_one/$', app_one.main.index_one,name='index_one'), url(r'^index_two/(?P<view_id>\d+)/$', app_one.main.index_two,name='index_two'), url(r'^index_three/(?P<view_id>\d+)/(?P<user_id>\d+)/$', app_one.main.index_three,name='index_three'), ]

    main.py文件

    from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse def response_one(request): ... return HttpResponseRedirect('/index_one/') #用下面这行也可以 #return HttpResponseRedirect(reverse('index_one')) def response_two(request): ... return HttpResponseRedirect(reverse('index_two',args=[vid])) def response_three(request): ... return HttpResponseRedirect(reverse('index_three'kwargs={'view_id':vid,'user_id':uid}))

    分别对应无参数、一个参数、多个参数的使用情况。

    最新回复(0)