2

ユーザーが ajax にログインしている場合、画像にリンクがあります。ただし、ユーザーがログインしていない場合は、ユーザーが最初に認証されるようにします。

実装は次のようにテンプレートで行われます -

{% if not user.is_authenticated %}
<a href="/accounts/login/">Get Started</a>
{% else %}
<a href="my-ajax-url"> Like </a>
{% endif %}

ここでの問題は、ユーザーがログインしていない場合です。最初にログインしてから、ajax アクションを実行してください。次のヘルプに似たもの。したがって、フローは、ユーザーがログに記録されていない場合、ログイン URL に移動し、ajax アクションが自動的に実行されるはずです。

それを実装する逆の方法は、ajax_login_decoratorを実装することです。これはhereのように実行できます。2 番目のアプローチでは、フローは次のようになります。

1. The user clicks on the action button.
2. the request goes to the server, if he is not authenticated, a response is sent to client.
3. He is made to login/signup.
4. Then once he logs in, he has to click on the action button again. 

代わりに、より良いアプローチとして、彼は最初にログインさせられ、次のようなものが ajax アクションを実行できます。したがって、質問はこの単純なことに要約されます-

ユーザーが認証された後、いくつかの次のパラメーターを使用して ajaxy URL を呼び出す方法。

4

1 に答える 1

1

ステップ 2 でアクションを (匿名の) セッションに保存し、彼がログインしたら、サーバー側からアクションを起動しますか? AJAX 呼び出しを行う必要はまったくありません。

于 2013-04-30T14:44:40.007 に答える