render是渲染变量到模板中,而redirect是HTTP中的1个跳转的函数,一般会生成302状态码
redirect跳转
from django.core.urlresolvers import reverse from django.shortcuts import redirect #https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/ @login_required def update_time(request): #pass ... form处理 return redirect(reverse('commons.views.invoice_return_index', args=[])) #跳转到index界面
HttpResponseRedirect(传递参数)
from django.shortcuts import render, HttpResponse from django.views.generic.base import View from django.http import HttpResponseRedirect # Create your views here. class user_login(View): def get(self, request): return render(request, "login.html") def post(self, request): if request.POST.get("username") == "alex": return HttpResponseRedirect("/timer/?name=alex") else: return render(request, "login.html") class timer(View): def get(self, request): print("--------------->", request.GET) name=request.GET.get("name") return render(request, "timer.html", {"name":name})