2016-08-05 4 views
0

Я пытаюсь создать социальный логин в Django, но он не работает нормально.Социальный вход в Django

Как делаю:

  1. установлен питон-социально-аутентификации
  2. прибавил в INSTALLED_APPS:

    'social.apps.django_app.default', 
    
  3. Migrated DB (без ошибок)

  4. Добавлено это в urls.py:

    url('social-auth/',include('social.apps.django_app.urls', namespace='social')), 
    
  5. ключи Got Facebook и добавили эту AUTHENTICATION_BACKENDS и ключи в settings.py:

    'social.backends.facebook.Facebook2OAuth2', 
    
  6. Добавлено это шаблон:

    <div class="social"> 
    <ul> 
    <li class="facebook"><a href="{% url "social:begin" "facebook"%}">Sign in with Facebook</a></li> 
    </ul> 
    </div> 
    

Но теперь, когда я нажимаю на Войти с Facebook, есть ошибка в оформлении шаблона: «social» не является зарегистрированным пространством имен. Я предполагаю, что это потому, что социальное нет в urls.py.

Но добавление этой работы.

Что еще мне делать? благодаря

+0

пункт 6, это кажется неправильным 'href =" {% url "social: begin" "facebook"%} "Вы можете заменить внутренний или внешний' '' на '' 'и повторите попытку? – Brambor

+0

no, не работает – sachsure

ответ

1

В пункте шесть заменить

href="{% url "social:begin" "facebook"%}" 

с

href="{% url 'social:begin' 'facebook'%}" 

Я думаю, что вы работаете с проблемой, когда в "social:begin" первый " заканчивает " после href=, так как ' и " являются вы можете это сделать.

+0

wow..this работал! thanks – sachsure

+0

Это почти в любом языке программирования, поэтому имейте в виду :) – Brambor

+0

Тег '{% url%}' обрабатывается Django, поэтому не имеет значения, если вы используйте те же кавычки для href и внутри тега. Изменение кавычек с '' 'на' '' не должно иметь никакого значения, кроме того, чтобы сделать его более читаемым. – Alasdair

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