python - ウェルカムテキストを表示するにはどうすればよいですか?

python facebook

ログイン後、「Welcome、Niklas」というテキストを表示したいのですが、ログイン後にpageをリロードする必要があり、サーバー変数current_userのテキストをページに表示する方法がわかりませんでした。ログインしてリロードを押すと、正しいウェルカムメッセージが表示されます。私が望むものを達成するのを手伝ってくれませんか? FB python + javascriptの簡単な実用例がないのはなぜですか? JavaScriptなしでFacebook接続を実装できますか?もしそうなら、私は自分でクッキーを使用して設定する必要がありますか?ありがとうございました

{% load i18n %}
<!DOCTYPE html> 
<html xmlns:fb="https://www.facebook.com/2008/fbml">
  <head> 
    <title> 
      Test Facebook SDK
    </title> 
  </head> 
<body> 
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '164355773607006', // App ID
      channelURL : '//WWW.KOOLBUSINESS.COM/static/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      oauth      : true, // enable OAuth 2.0
      xfbml      : true  // parse XFBML
    });
  };
  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));
</script>
<fb:login-button autologoutlink="true"></fb:login-button>
{% if current_user %}
<div id="user-ident">
<span>{% trans "Welcome," %} <b>{{ current_user.name|escape }}</b></span>
</div>
{% endif %}
</body> 
</html>


これが変数current_userを取得する方法です

@property
def current_user(self):
    if not hasattr(self, "_current_user"):
        self._current_user = None
        cookie = facebook.get_user_from_cookie(
            self.request.cookies, facebookconf.FACEBOOK_APP_ID, facebookconf.FACEBOOK_APP_SECRET)
        logging.debug("logging cookie"+str(cookie))
        if cookie:
            # Store a local instance of the user data so we don't need
            # a round-trip to Facebook on every request
            user = FBUser.get_by_key_name(cookie["uid"])
            logging.debug("user "+str(user))
            logging.debug("username "+str(user.name))

            if not user:
                graph = facebook.GraphAPI(cookie["access_token"])
                profile = graph.get_object("me")
                user = FBUser(key_name=str(profile["id"]),
                            id=str(profile["id"]),
                            name=profile["name"],
                            profile_url=profile["link"],
                            access_token=cookie["access_token"])
                user.put()
            elif user.access_token != cookie["access_token"]:
                user.access_token = cookie["access_token"]
                user.put()
            self._current_user = user
    return self._current_user
答え
Oauth 2.0を使用する場合

FB.Init(...oauth=true) 


ログインボタンはあなたのドメインにクッキーを設定しています

fbsr_(appid)=....


これは、アプリの秘密鍵を使用してエンコードされ、ユーザートークンはもう含まれていません。

(最も簡単な方法である)Javaスクリプトクライアント側の使用を本当に避けたい場合は、このCookieの存在を利用して、ユーザーがFacebookに接続しているかどうかを確認し、承認チェックを実行するか、ウェルカムメッセージを動的に表示します。 。

私はpythonを使用していないので、実際の例はありませんが、これで検索することができます。

この助けを願っています。
関連記事

python - 新しいインタープリターセッションを開始せずに、編集のためにIDLEで.pyファイルを開くにはどうすればよいですか?

python - Django / Pythonを使用して既存のWebサービスを利用する

python - python.socketのどの部分が、タイムアウトが設定されていても、スクリプトをいつまでもフリーズさせる可能性がありますか?

python - 隣接行列を使用したPythonでのグラフの色分け

python - 複数のテナントにわたるアカウント管理

python - ModelFormとModelMultipleChoiceFieldを使用してManyToManyFieldsに保存する

python - Pythonでgeventまたはスレッドを使用したredisを使用して、いくつかのタスクのためにアプリケーションを構造化する方法

python - Python-ELFファイルからビルドIDを取得する

python - optparseと文字列

python - パイグラフ-特定の重みを持つ2つのノード間のパス