![](/img/trans.png)
[英]How to redirect an admin user to redirect to the index page after logout from the default admin site in django?
[英]Django - how to redirect to index page upon logout?
如果用戶身份驗證失敗,我將嘗試實現一個簡單的頁面重定向到索引頁面。
想象一下,我有兩條道路:
www.xyz.com/app/
www.xyz.com/app/user
第一個呈現索引頁面,第二個呈現成功登錄后的授權用戶登錄頁面。
在我的views.py
文件中,
def index(request):
return render(request, "app/index.html")
def userLogin(request):
loginUser = authenticate(username = request.POST["username"], password = request.POST["password"])
if loginUser is not None:
if not loginUser.is_active:
loginUser.is_active = True
loginUser.save()
login(request, loginUser)
return HttpResponse(reverse(user))
else:
return HttpResponse(simplejson.dumps({"login" : "failed"}))
def userLogout(request):
logout(request)
return HttpResponseRedirect(reverse(index))
和urls.py
urlpatterns = patterns("",
url(r'^$', views.index, name = "index"),
url(r'^user/$', views.user, name = "user"),
url(r'^registerNewUser/$', views.registerNewUser),
url(r'^userLogin/$', views.userLogin),
url(r'^user/userLogout/$', views.userLogout),
)
通過Ajax POST請求訪問注銷功能,在日志中,我看到
[11/Jul/2013 09:08:00] "POST /app/user/userLogout/ HTTP/1.1" 302 0
[11/Jul/2013 09:08:00] "GET /app/ HTTP/1.1" 200 5039
但索引頁面未加載。 但是,如果刷新頁面,則由於對request.user.is_authenticated()
的條件調用而導致了索引頁面的加載,該調用會在失敗時觸發相同的HttpResponseRedirect
調用和參數。
If login fail i mean in else case return render(request, "app/index.html") instead
of return HttpResponse(simplejson.dumps({"login" : "failed"}))
**updated userLogin**
def userLogin(request):
loginUser = authenticate(username = request.POST["username"],
password = request.POST["password"])
if loginUser is not None:
if not loginUser.is_active:
loginUser.is_active = True
loginUser.save()
login(request, loginUser)
return HttpResponse(reverse(user))
else:
return render(request, "app/index.html")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.