的AoA, 我试图重定向到某个视图,但未能这样做。
这是代码
views.py
def logout(request):
c = {'username': 'Create Account', 'status': ''}
c.update(csrf(request))
response = render_to_response("home.html",c)
response.delete_cookie('id')
request.session['id'] = 'None'
return redirect('/home/')
def home(request):
#some code here
return render_to_response('blah blah')
urls.py
url(r'^ home / $','contacts.views.home_Page'), url(r'^ logout / $','contacts.views.logout'),
上面的代码将我重定向到 - 让我们假设当前的URL(127.0.0.1/account) 它将我重定向到(127.0.0.1/account/home),但我想重定向到127.0.0.1/home 如何重定向到特定视图?
答案 0 :(得分:2)
redirect(to[, permanent=False], *args, **kwargs)
将HttpResponseRedirect返回到传递的参数的相应URL。您需要在视图函数中返回HttpResponseRedirect对象。
e.g:
urls.py:
url(r'^home/$', home, name='home_view')
...
view.py:
def logout(request):
...
redirect('home_view')
答案 1 :(得分:1)
django提供了一个你应该使用的内置logout
:
from django.shortcuts import redirect
from django.contrib.auth import logout
def log_out(request):
logout(request)
return redirect('home')
现在'home'
可以是很多东西;但确保其指向正确位置的最简单方法是命名您的网址。所以在urls.py
:
url(r'home/$', home, name='home')