1

問題が解決しました!申し訳ありませんが、私が使用しているとは言いませんでしたdotcloud。dotcloud の git によるものです。dotcloud 上のプロジェクトでは、postinstallスクリプトを実行するために が必要ですが、組み込みの git を使用すると、実行可能ビットが無視されます。だから私はURLに従っています警告:ポストインストールファイルが存在しますが、実行できません。無視。. プロジェクトの合計ファイルを再度アップロードします。問題が解決しました。セッションデータベースを作成していないためだと思います。しかし、まだ疑問があります。デフォルトのセッションはデータベースをバックエンドとして使用しませんか? バックエンドを使用する場合でも、私のプロジェクトのバックエンドは MongoDB であり、これは遅延操作メソッドを使用しています。つまり、使用するとデータベースが作成されます。では、なぜ がないsyncdbと、この問題が発生するのでしょうか?

私はresponse.set_cookieクッキーを設定するために使用しています。firefoxただし、では表示できませんfirebug

を試しましrequest.session.set_test_cookie()たが、ブラウザが Cookie をサポートしていません。それ無理。私も試しSafariましたが、Cookieを設定することもできません。

それはどうしてですか?私のブラウザは Cookie をサポートしていると確信しています。Cookie が他のサイトからfirebug.

コードは次のとおりです。 if request.method == 'POST': username = request.POST.get('username','') password = request.POST.get('password','')

if username != '' and password != '':
    if len(username) > 20:
        returnmsg = 'USR LEN'

    else:
        password = md5(password).hexdigest()
        user_exist = User.objects(username=username)
        if not user_exist:  #if the list is empty
            returnmsg = 'LOG ERR'
        else:
            for user in User.objects(username=username):
                if user.password == password:
                    returnmsg = 'LOG OK'
                    #add session information
                    response = HttpResponse(returnmsg)

#Try 1

                response['Cookie-Set']='username='+username

#try 2

                response.set_cookie(key="username", value=username)

#try 3

                request.session['username'] = username

                    user.log.append(UserLog(time=datetime.now(), ip=request.META['REMOTE_ADDR'], login=True))
                    user.save()
                    return response
                else:
                    returnmsg = 'LOG ERR'
                    user.log.append(UserLog(time=datetime.now(), ip=request.META['REMOTE_ADDR'], login=False))
                    user.save()
else:
    returnmsg = 'USR EPT'
4

0 に答える 0