vgarvardt / django-loginza Goto Github PK
View Code? Open in Web Editor NEWDjango application for Loginza service
Home Page: http://loginza.ru
Django application for Loginza service
Home Page: http://loginza.ru
TemplateSyntaxError at /
Caught KeyError while rendering: 'request'
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.3
Exception Type: TemplateSyntaxError
Exception Value:
Caught KeyError while rendering: 'request'
Exception Location: C:\Program Files\Python2\lib\site-packages\django\template\context.py in getitem, line 60
Python Executable: C:\Program Files\Python2\python.exe
Python Version: 2.7.1
Template error
In template *, error at line 61
Caught KeyError while rendering: 'request'
57 {% load loginza_widget %}
58 {% if user.is_authenticated %}
59 Добро пожаловать, {{ user }}
60 {% else %}
61 {% loginza_button "Войти через loginza" %}
62 {% endif %}
При попытке использовать django-loginza (django 1.7, python 3.3+):
D:\myflat>manage.py syncdb
Traceback (most recent call last):
File "D:\myflat\manage.py", line 10, in
execute_from_command_line(sys.argv)
File "D:\Python33\lib\site-packages\django\core\management__init__.py", line
385, in execute_from_command_line
utility.execute()
File "D:\Python33\lib\site-packages\django\core\management__init__.py", line
354, in execute
django.setup()
File "D:\Python33\lib\site-packages\django__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 108, in pop
ulate
app_config.import_models(all_models)
File "D:\Python33\lib\site-packages\django\apps\config.py", line 197, in impor
t_models
self.models_module = import_module(models_module_name)
File "D:\Python33\lib\importlib__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 2254, in _gcd_import
File "", line 2237, in _find_and_load
File "", line 2226, in _find_and_load_unlocked
File "", line 1200, in _load_unlocked
File "", line 1129, in exec
File "", line 1471, in exec_module
File "", line 321, in call_with_frames_removed
File "D:\Python33\lib\site-packages\loginza\models.py", line 7, in
User = get_user_model()
File "D:\Python33\lib\site-packages\django\contrib\auth__init.py", line 136
, in get_user_model
return django_apps.get_model(settings.AUTH_USER_MODEL)
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 199, in get
_model
self.check_models_ready()
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 131, in che
ck_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
D:\myflat>RunServer.bat
D:\myflat>manage.py runserver
Traceback (most recent call last):
File "D:\myflat\manage.py", line 10, in
execute_from_command_line(sys.argv)
File "D:\Python33\lib\site-packages\django\core\management__init__.py", line
385, in execute_from_command_line
utility.execute()
File "D:\Python33\lib\site-packages\django\core\management__init__.py", line
354, in execute
django.setup()
File "D:\Python33\lib\site-packages\django__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 108, in pop
ulate
app_config.import_models(all_models)
File "D:\Python33\lib\site-packages\django\apps\config.py", line 197, in impor
t_models
self.models_module = import_module(models_module_name)
File "D:\Python33\lib\importlib__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 2254, in _gcd_import
File "", line 2237, in _find_and_load
File "", line 2226, in _find_and_load_unlocked
File "", line 1200, in _load_unlocked
File "", line 1129, in exec
File "", line 1471, in exec_module
File "", line 321, in call_with_frames_removed
File "D:\Python33\lib\site-packages\loginza\models.py", line 7, in
User = get_user_model()
File "D:\Python33\lib\site-packages\django\contrib\auth__init.py", line 136
, in get_user_model
return django_apps.get_model(settings.AUTH_USER_MODEL)
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 199, in get
_model
self.check_models_ready()
File "D:\Python33\lib\site-packages\django\apps\registry.py", line 131, in che
ck_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
Django запущен на 8000 порту. После нажатия на кнопу продолжить вызвается страица http://domain_name/loginza/return_callback/ т.е. теряется привязка к 8000 порту.
Это можно как то починить? Или сама логинза на других портах не может работать?
при авторизации через google Loginza не всегда возвращает nickname, соответственно вылетает KeyError Exception при попытке обратиться к данному ключу, соответственно создать пользователя тоже не получится
В документации Django написано следующее:
set_unusable_password() - Marks the user as having no password set. ...
You may need this if authentication for your application takes place against an existing external source such as an LDAP directory.
В данном случае было бы оптимальнее использовать эту функцию для установки пароля, вместо генерирования случайного. В дальнейшем можно проверять установлен ли пароль с помощью функции has_usable_password()
Получаю ошибку в строке: auth.login(request, user)
'AnonymousUser' object has no attribute 'backend'
Подскажите как решить данную проблему.
Когда пробую войти через виджет все проходит нормально, но авторизация не проходит. В БД запись создается.
При аутентификации сайт http://loginza.ru/api/redirect выдает ошибку "Invalid / empty session data! Retry auth."
Но пользователь при этом создается.
В чем может быть дело?
П.С. Стоит последняя версия django-loginza, настройки сверил.
Добрый день,
Добавил как указано на сайте при выполнении python manage.py syncdb получаю:
File "D:\Python33\lib\site-packages\loginza\models.py", line 3, in
from django.utils import simplejson as json
ImportError: cannot import name 'simplejson'
Пробую использовать _() для пометки строк на перевод внутри шаблонного тега, как описано здесь.
{% loginza_string _("Login") %}
Но на странице вместо перевода выводится _("Login").
Приведите пример кода, пожалуйста. А то сделать именно так как указано в примере - не получается)
Горожу свой велосипед, но думаю, что ведь можно проще всё сделать...
Задача вернуть пользователя после авторизации туда куда шел
Авторизуется со страницы
/signin/?next=/bids/advert/
После авторизации отправляется на
/signin/
А должен на
/signin/?next=/bids/advert/
Возможно косяк не в самой либе а в примере который сигналы ловит
Надо писать что-то дополнительно?
с чем связано то, что это не отдельное приложение?
Use "django.contrib.auth.context_processors.auth" https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATE_CONTEXT_PROCESSORS
Нужно сохранить имя юзера ФБ в табличку с системными юзерами. И после обработки сигнала что-то отменяет все правки. В месте ексепшена видно что все сохранилось.
def loginza_auth_handler(sender, user, identity, **kwargs):
try:
map = loginza_models.UserMap.objects.get(user=user)
data = json.loads(map.identity.data)
system_user = User.objects.get(username=user)
if data['provider'] == "http://www.facebook.com/":
if not system_user.first_name and data['name']['first_name']:
system_user.first_name = data['name']['first_name']
if not system_user.last_name and data['name']['last_name']:
system_user.last_name = data['name']['last_name']
system_user.save()
#eee = User.objects.get(username=system_user.username)
#raise Exception(eee.first_name) # сдесь показывает, то сохранение выполнилось успешно
auth.login(sender, user)
....
Прошу заменить строку со стилем в iframe_template с "width:359px;height:300px" на "width:359px;height:200px". Высоты в 200 пикселей более, чем достаточно, чтобы поместить все содержимое виджета. 300 пикселей вызывают большой неиспользуемый отступ под виджетом. Это заметно также на официальном сайте, где под примером с этим виджетом зияет дыра - http://loginza.ru/signin-integration. Если действительно нужны подобные отступы, то их можно добавить в верстке страницы, не затрагивая шаблона виджета.
автоматически созданных пользователей желательно тоже делать по умолчание неактивными (is_active = False), а активировать уже при завершении регистрации.
В этом есть смысл, если к примеру сервис, через который производится авторизация, не возвращает email, то нужно запросив email еще выслать письмо с активацией email-a, а до этого момента мользователь будет неактивен.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.