2010-01-15 28 views
5

Đây là vấn đề tôi phải đối mặt với Django AutheneticationDjango logout vấn đề

  1. truy cập một trang yêu cầu đăng nhập.
  2. Đăng xuất (truy cập django.contrib.auth.logout)
  3. Truy cập trang được bảo vệ bằng thông tin đăng nhập ban đầu. Bạn vẫn đang đăng nhập

Bất kỳ ý tưởng nào về cách giải quyết sự cố?

MY Django Cài đặt phiên là

SESSION_EXPIRE_AT_BROWSER_CLOSE = True SESSION_COOKIE_AGE = 3600

Cảm ơn, Sujit

+3

Khi bạn nói '3. Truy cập bản gốc ... 'bạn có nghĩa là' sử dụng phím mũi tên quay lại và xem hình ảnh trang được lưu trong bộ nhớ cache 'hay ý của bạn' được nhấp vào liên kết đến một trang được bảo vệ và nó hoạt động khi nó không có '? –

+0

Cả hai trường hợp ... Khi nhấp vào nút quay lại và nhập url trang được bảo vệ. – SystemMatrix

+0

Tôi đã thêm một câu hỏi mới, trông rất giống với câu hỏi của bạn. Giải quyết nó chưa! xem http://stackoverflow.com/questions/14021913/django-logout-not-working –

Trả lời

1

Về cơ bản, this should work:

from django.contrib.auth import logout 

def logout_view(request): 
    logout(request) 
    # Redirect to a success page. 

Ông có thể làm rõ bằng cách đăng điểm của bạn nếu nó không giống như thế này?

+0

Cảm ơn bạn đã trả lời. Tôi có mã chính xác cho cơ chế đăng xuất. Nhưng vẫn không đăng xuất được – SystemMatrix

0

xem

từ django.contrib.auth logout nhập khẩu

def logout_user (theo yêu cầu):

""" 
    logout the user 
""" 

logout(request) 
return HttpResponseRedirect('/qioness/connect/') 

url:

url(r'^userlogout/$',logout_user), 

làm việc 4 tôi

1

Trong D jango 1.4. * Tôi đã gặp sự cố với chức năng logout(). Nó chỉ đơn giản là không đăng xuất người dùng của tôi.

Bây giờ tôi chỉ đang sử dụng chế độ xem được đóng góp để đăng xuất người dùng và nó hoạt động hoàn hảo. Chỉ cần thêm tệp này vào tệp gốc của bạn urls.py nếu bạn không muốn làm bất kỳ điều gì khác đặc biệt:

(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/login'}), 

và bạn sẽ sẵn sàng sử dụng.

Chúc mừng Djangoing.

0

Điều này phù hợp với tôi. Tôi đã quá khó khăn với vấn đề này. Tìm thấy giải pháp sau đây trên youtube.

Giải pháp của tôi có chút thay đổi.

trong views.py

from django.contrib.auth import authenticate, login, logout 
from django.shortcuts import redirect 

def auth_logout(request): 
    logout(request) 
    return redirect('home') 

trong urls.py Thay đổi phiên

url(r'^logout$', views.auth_logout, name='auth_logout'), 
0

hết hạn vào ngày gần False, với đúng nó sẽ không đăng nhập của bạn cho đến khi bạn đóng trình duyệt