0

組み込みのログインモジュールを使用して、自分のWebサイトでログインを実行しています

url(r'^login/$', 'django.contrib.auth.views.login', {'extra_context': {'page_name': 'login'}),

これが私のログインフォームの次のアクションです

<input type="hidden" name="next" value="/redirect/">

登録中に、次のようなユーザー用の小さなトラッキングコードを作成します。

host = request.META.get('HTTP_X_FORWARDED_FOR','') or request.META.get('REMOTE_ADDR')
if tid == '0':
    import os, binascii
    tid = binascii.hexlify(os.urandom(6))
ut = UserTracking.objects.create(user=user, username=username, tracking_id=tid, remote_host=host, action='register')
ut.save()
variables = RequestContext(request, {'username': form.cleaned_data['username'], 'email': form.cleaned_data['email'], 'message': message, 'tid': tid})
return render_to_response('registration/register_success.html', variables)

私はjqueryプラグインを使用して、register_success.html次のようにトラッキングコードをユーザーのPCに保存します。

$.jStorage.set('tid', '{{ tid }}');

このコードをログインフォームに追加して、ユーザー名とパスワードを使用して送信するにはどうすればよいviews.pyですか?

4

1 に答える 1

1

ログイン ビューのカスタマイズが必要になる場合があります。

  1. ログイン ビューを追加します。

    url(r'^login/$', 'myapp.account.views.login', {'extra_context': {'page_name': 'login'})

次に、myapp/account/views.py に以下を追加します。

def login(request, template_name='logintemplate.html'):

    if (request.POST):
        username = request.POST.get('username', None)
        password = request.POST.get('password', None)
        tracking_code = request.POST.get('tracking_code', None)
        user = authenticate(username=username, password=password)
......
    if user:
        # your custom code here
......

logintemplate.html で、トラッキング コードをログイン フォームに追加します。

于 2012-06-08T12:51:23.680 に答える