2017-04-06 1 views
2

django 관리자를 사용하는 응용 프로그램을 만들고 싶지만 해당 프로그램 대신에 Google (내 회사 Google 계정)을 통해 로그인 할 수 있습니다. 장고 기본 ModelAdmin. social-app-django (구글)가 갈 수있는 방법이지만, 프로젝트를 설치하고 설정 한 후, 그것이 내가 장고 관리자 로그인이 social-app-django 인증을 사용할 수 있도록하는 방법을 나에게 분명하지 않다처럼Django 관리자와 함께 사용할 python-social-auth (social-app-django)를 통합하십시오.

현재는 보인다. 나는 http://python-social-auth.readthedocs.io/en/latest/configuration/django.html에 설명 된대로 프로젝트를 구성하려고 시도했지만 이것이 장고 관리자와 어떻게 통합 될 수 있는지 명확하지 않습니다.

내가 발견이 snippit (보이는 의 최신 아웃), 그리고 추가,하지만 난 고토 /admin/하려고 할 때 404를 얻을 :

페이지를 찾을 수 없습니다 (404) 신청 방법 : GET Request URL : http://127.0.0.1:8000/accounts/login/?next=/admin/login/%3Fnext%3D/admin/ Django는 telos.urls에 정의 된 URLconf를 사용하여 패턴을 다음 순서로 시도했습니다.^login/(? P [^ /] +)/$ [name = 'begin'] ^ $ {name = 'complete'] ^ disconnect/(? P [^ /] +)/$ [name = '연결 해제'] ^ di/connect/현재 경로 인 accounts/login /은 (는) 다음 중 하나와 일치하지 않습니다 :/connect?/(? P [^ /] +)/$ [name = 'disconnect_individual'] 이들.

직원 계정에 대한 올바른 사용자 이름과 비밀번호를 입력하십시오 : 나는 SNIPPIT을 제거하면

/admin//admin/login/에 및 로그인 시도에 오류 텍스트를 반환 리디렉션합니다. 두 필드 모두 대소 문자를 구분할 수 있습니다.

configuration 외에도

, 나는에 다음을 추가 한 내 settings.py :

프로젝트/models.py (참고 MyUser)

from django.contrib.auth.models import AbstractUser 

class MyUser(AbstractUser): 
    pass 

settings.py

# for identification of SOCIAL_AUTH_USER 
# http://python-social-auth.readthedocs.io/en/latest/configuration/settings.html#user-model 
SOCIAL_AUTH_USER_MODEL = 'projects.MyUser' 
AUTH_USER_MODEL = 'projects.MyUser' # not sure if this is needed 

칼슘 n 누구든지 social-app-django (google)을 통해 장고 관리자에 로그인 할 수 있도록 프로젝트를 설치하는 방법을 안내해 줄 수 있습니까?

답변

1

장고 관리는 auth의 contrib 애플리케이션을 사용하므로, 임의의 인증 처리는 관리자가 아닌 부분에 사용자 로깅보다 동일한 메커니즘을 트리거 그들이 AUTHENTICATION_BACKENDS 설정에서 정의 된 경우는 python-social-auth 백엔드에 의해 처리된다.

  1. 는 로그인 양식에 Login with Google 링크 (/login/google-oauth2에 연결)를 추가 : 그것은에 당신이 필요합니다 작동하도록하기 위해

    .admin/login.html 템플릿을 추가하거나 사용자 정의를 정의하여 기본 로그인 양식을 덮어 쓸 수 있습니다. AdminSite

  2. 사용자에게 is_staff으로 플래그가 지정되도록하십시오. 그렇지 않으면 관리자 액세스가 금지됩니다.
+0

등은 템플릿 등을 재정의하는 방법을 알아야했지만 작동 시켰습니다. 감사! – monkut