2012-08-25 3 views
1

방금 ​​장고 배우기 시작하고 allauth 응용 프로그램을 통합하고 싶었습니다. 하루 종일 알아 내고 다른 질문에서 답을 찾지 못했습니다. 언제는 내가 심지어 로그인 화면을 얻을 수없는, 사회적 로그인 중 하나를 추가하려고 장고는 불평 :django-allauth에서 OpenId 소셜 앱을 추가하려면 어떻게해야하나요?

get_login_url() keywords must be strings 

는 공급자 목록을 렌더링하려고합니다. (allauth와 함께 제공되는 예제에서 기본, 색인 및 프로필을 복사했습니다.)

로그인 중 하나를 사용하기 전에 관리자 인터페이스에 소셜 앱을 추가해야합니다. 그래서 관리 인터페이스에서 간단한 것들 중 하나를 시도하고 싶습니다. 따라서 OpenId를 선택했습니다. 나는 아직 페이스 북의 앱 ID 나 아무것도 가지고 있지 않기 때문에 OpenId로 생각 했으므로 필요하지 않을 것이다.

소셜 앱을 등록하기 위해 Key와 Secret에 사용할 항목이 끊어지고 있습니다. 나는이 물건에 익숙하지 않지만 OAuth를 위해 더 많은 것을 생각했습니다. 그러나 내가 그것을 포함하지 않으면, 그것은 들판을 붉은 색으로 표시하고 요구합니다. 열쇠/비밀은 어디에서 찾거나 생성합니까?

또한 OpenId를 사용하려면 Google이나 Yahoo와 같은 사이트를 지정해야합니까, 아니면 그냥 "OpenId"사이트입니까?

차이가있는 경우 manage.py runserver를 사용하고 있습니다. 그러나 저는 여전히 페이지를 "렌더링"할 수있을 것이라고 생각했습니다.

답변

1

어떤 Python 버전을 실행하고 있습니까? 당신은 오래된 2.6 버전을 사용하는 경우, 당신은 여기에 설명 된 문제로 실행 될 수있다

http://cuu508.wordpress.com/2011/01/27/keywords-must-be-strings/

그 문제를 정확하게 지적 알려 주시기 바랍니다. 내가 allauth이 사용중인 Firefox와 좋은 연주 할 수 있다면 그렇다면, 나는 ... 확인해 보겠습니다

업데이트 :이 변화를 시도?

을 줄 수있는, 아직 나 자신을 테스트 할 시간이 없었어요
--- a/allauth/socialaccount/templatetags/socialaccount.py 
+++ b/allauth/socialaccount/templatetags/socialaccount.py 
@@ -13,7 +13,7 @@ class ProviderLoginURLNode(template.Node): 
    def render(self, context): 
     provider_id = self.provider_id_var.resolve(context) 
     provider = providers.registry.by_id(provider_id) 
-  query = dict([(name, var.resolve(context)) for name, var 
+  query = dict([(str(name), var.resolve(context)) for name, var 
         in self.params.iteritems()]) 
     request = context['request'] 
     if not query.has_key('next'): 
+0

파이썬 --version 파이썬 2.6.1 (스노우 레오파드 (Snow Leopard)에 -. 그래서 그래, 그게 수) 흥미 롭 ... 처음에 나는 그것이 실제 배포 일을 대의 runserver라고 생각 그래서 그것을 올려 덜 편리한 리눅스 사이트에서 작동하기 시작했습니다. 하지만 지금은 로컬 파이썬이 2.6.1이고 원격 사이트가 2.6.6이라는 것을 알고 있습니다. 링크에서 말할 수 없습니다 - 해결 방법이 있습니까, 편집 할 파일이 있습니까? 감사합니다. –

+0

href = "{% provider_login_url provider.id openid = brand.openid_url %}" /Library/Python의 53 행까지 추적되는 것처럼 보이는 allauth/templates/socialaccount/snippets/snippets/provider_list.html 9 행에서 발생합니다. /2.6/site-packages/django_allauth-0.7.1-py2.6.egg/allauth/account/views.py return render_to_response (template_name, RequestContext (request, ctx)) –

+0

그 변화는 효과가있는 것처럼 보입니다. 이전에 manage.py runserver를 로컬에서 다시 시작했는데 (위의 파이썬 사용), 위의 수정으로 이제는 형식 오류없이 로그인 페이지가 나타납니다. 그래서 ... 좋아 보인다! 감사! –