2012-06-08 3 views
0

Я с помощью встроенного модуля входа в системе для выполнения логинов на моем сайтетрекинга пользователя Войти с Джанго

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) 

В register_success.html я использую JQuery плагин, чтобы сохранить свой код отслеживания на компьютере пользователя, как это:

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

Как я могу добавить этот код в моей форме входа в систему и отправить имя пользователя и пароль для мой views.py?

+1

Использование [signal] (https://docs.djangoproject.com/en/dev/topics/auth/#login-and-logout-signals) может быть более прямым. – okm

ответ

1

Возможно, вам потребуется настроить вид входа в систему.

  1. Добавить вид входа:

    URL (г '^ Войти/$', 'myapp.account.views.login', { 'extra_context': { 'PAGE_NAME': 'логин'})

Тогда в вашем MYAPP/счета/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 добавить код отслеживания в форме входа.

Смежные вопросы