我已经构建了一个django app.Can有人帮助我在从facebook(django-social-auth)
和普通登录表单登录时分离重定向URL。
我有两种类型的用户,一种是我需要使用facebook登录,另一种是使用表单。
我已为这两个目的定义了不同的URL,并在我的views.py中定义了它
在我的settings.py中也给出了SOCIAL_AUTH_LOGIN_REDIRECT_URL
,但在使用表单登录时,它也被重定向到同一个URL。
请帮忙。
附上相关代码
提前谢谢。
views.py:
def admin_dashboard(request):
if request.user.id!=None and request.user.usertype.description=="ADMIN" and request.user.is_authenticated:
if request.method=="GET":
return render_to_response('testu/admin_dashboard.html',context_instance=RequestContext(request))
def student_dashboard(request):
if request.user.id!=None and request.user.usertype.description=="STUDENT" and request.user.is_authenticated:
if request.method=="GET":
return render_to_response('testu/student_dashboard.html',{"tests":Test.objects.all()},context_instance=RequestContext(request))
urls.py:
urlpatterns = patterns('',
url(r'', include('social_auth.urls')),
url(r'^admin_dashboard/',admin_dashboard),
url(r'^student_dashboard/',student_dashboard),
)+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py:
FACEBOOK_APP_ID = '...'
FACEBOOK_API_SECRET = '...'
FACEBOOK_EXTENDED_PERMISSIONS = ['email']
SESSION_SERIALIZER='django.contrib.sessions.serializers.PickleSerializer'
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/student_dashboard/'
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/student_dashboard/'
SOCIAL_AUTH_USER_MODEL = 'myapp.customuser'
基本上,每当我使用" ADMIN"的用户登录时描述,甚至被重定向到学生记事板'
答案 0 :(得分:1)
您是否尝试过常用的登录重定向视图?例如:
LOGIN_REDIRECT_URL = '/my_common_view/'
def my_common_view(request):
if user is student:
redirect to student dashboard
else:
redirect to admin dashboard
这应该可以解决这个问题。