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

博客介绍了在Django开发中,HttpResponseRedirect使用广泛,相较于render可减少代码量。还以urls.py和main.py文件为例,展示了无参数、一个参数、多个参数的使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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}))

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值