2016-03-30 8 views
0

Ich versuche, Login-System mit fb mit Django alle Auth erstellen erstellen, aber es zeigt Fehler beim Rendern von Vorlage Keine umgekehrte Übereinstimmung.Ich habe alles aus meinem Ende versucht, bitte helfenVersuchen, Login mit fb mit Django alle Auth

Ansicht

def index(request): 
    return render(request, 'name.html', {}) 

Vorlage

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 
</head> 
 
<body> 
 
{% load socialaccount %} 
 
<a href="{% provider_login_url 'facebook' method='oauth2' %}">Login with Facebook</a> 
 
</body> 
 
</html>

URL Datei

from django.conf.urls import include, url 

from . import views 

app_name = 'music' 

urlpatterns = [ 
url(r'^$', views.index, name='index'), url(r'^accounts/',  include('allauth.urls')), 
] 

Einstellungen

""" 
Django settings for muauth project. 

Generated by 'django-admin startproject' using Django 1.9.1. 

For more information on this file, see 
https://docs.djangoproject.com/en/1.9/topics/settings/ 

For the full list of settings and their values, see 
https://docs.djangoproject.com/en/1.9/ref/settings/ 
""" 

import os 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 


# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = 'lsd_3z4#438nu0__#-m$urx#[email protected]$76bcgb(j8hmx%%u%[email protected]_' 

# SECURITY WARNING: don't run with debug turned on in production! 
DEBUG = True 

ALLOWED_HOSTS = [] 


# Application definition 

INSTALLED_APPS = [ 
    'music.apps.MusicConfig', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'allauth', 
    'allauth.account', 
    'allauth.socialaccount', 
    'allauth.socialaccount.providers.facebook', 
    'django.contrib.sites', 
] 

SITE_ID = 1 

MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
] 

ROOT_URLCONF = 'muauth.urls' 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
       'django.core.context_processors.request', 
      ], 
     }, 
    }, 
] 


AUTHENTICATION_BACKENDS = (

    # Needed to login by username in Django admin, regardless of `allauth` 
    'django.contrib.auth.backends.ModelBackend', 

    # `allauth` specific authentication methods, such as login by e-mail 
    'allauth.account.auth_backends.AuthenticationBackend', 

) 



WSGI_APPLICATION = 'muauth.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'music',      # Or path to database file if using sqlite3. 
     'USER': 'postgres',      # Not used with sqlite3. 
     'PASSWORD': '',     # Not used with sqlite3. 
     'HOST': 'localhost',     # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '5432', 
    } 
} 


# Password validation 
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators 

AUTH_PASSWORD_VALIDATORS = [ 
    { 
     'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 
    }, 
] 


# Internationalization 
# https://docs.djangoproject.com/en/1.9/topics/i18n/ 

LANGUAGE_CODE = 'en-us' 

TIME_ZONE = 'UTC' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 

STATIC_URL = '/static/' 
+0

Sie bitte den vollständigen Zurückverfolgungs liefern erhalten Anmeldeinformationen hinzufügen. – v1k45

Antwort

1

url(r'^accounts/', include('allauth.urls')), auf Ihre urls.py Datei hinzufügen, wie auf der

EDIT

documentation of django allauth erwähnt:

Hast du Thesen folgten Schritte?

  1. Fügen Sie eine Site für Ihre Domain hinzu, die den Einstellungen entspricht.SITE_ID (django.contrib.sites app).
  2. Fügen Sie für jeden OAuth-basierten Anbieter eine Social App (socialaccount app) hinzu.
  3. Füllen Sie die Website und die OAuth-App aus dem
+0

Sie können sehen, die bereits hinzugefügt –

+0

Sind Sie diese Schritte gefolgt? 1- Fügen Sie eine Site für Ihre Domain hinzu, die den Einstellungen entspricht.SITE_ID (django.contrib.sites app). 2- Fügen Sie für jeden OAuth-basierten Anbieter eine Social App (SocialAccount-App) hinzu. 3- Geben Sie die Website und die OAuth-App-Anmeldeinformationen ein, die Sie vom Anbieter erhalten haben. – Mounir

+0

es funktioniert jetzt –