1

ここにあるviews.py

def authent(request):
    user = request.POST['username'] 
    passw = request.POST['password']
    featureDetail = []
    loginrole = People_Login.objects.get(User_Name = user, Password = passw)
    features = Role_FGroup_FSubGroup_FItems_Map.objects.filter(Role_Id = loginrole.id)
    for p in features:
        dic = {}
        dic['ID'] = p.id
        dic['Role_ID'] = p.Role_Id.id
        dic['FGID'] = p.Feature_Group_Id.id
        dic['FSGID'] = p.Feature_SubGroup_Id.id
        dic['FIID'] = p.Feature_Items_Id.id
        dic['SFGNAME'] = p.Feature_Group_Id.Name
        dic['SFSGNAME'] = p.Feature_SubGroup_Id.Name
        dic['SFINAME'] = p.Feature_Items_Id.Name
        featureDetail.append(dic)
    featuresgroups = Role_Feature_Group_Map.objects.filter(Role_Id = loginrole.Role_Id.id)
    request.session['feature_list'] = featureDetail
    request.session['featuresgroups'] = featuresgroups
    return render_to_response('UAM/index.html',{"contacts":featureDetail,'len':len(featureDetail)-1,'test1':"shiva",'test2':"shiva","featuresgroups":featuresgroups}) 

このauthent関数では、ログアウト関数をどのように記述すればよいですか (私は Django を初めて使用するため)。簡単にログアウト機能のコードを教えてください。

4

2 に答える 2

1

独自の認証機能を展開するのではなく、Django に組み込まれている認証機能を使用することをお勧めします。そうしないと、多くの間違い (プレーン テキストのパスワードの保存など) を犯し、多くの車輪 (セッション処理、グループ、アクセス許可など) を再発明することになります。Django がサポートするよりも多くのユーザー情報を保存する必要がある場合は、フォームまたはユーザー プロファイルで行うことができます。

とにかく、「ログオン」が「セッションにそれらの値を持っている」ことを意味する場合、「ログアウト」するには、それらを削除するだけですよね?

于 2013-02-07T13:27:39.077 に答える
1

それは本当に簡単です:

from django.contrib.auth import logout

def logout_page(request):
    logout(request)
    return HttpResponseRedirect('/')
于 2013-02-07T19:07:36.000 に答える