Django登录后跳转到域外网站

需求

采用Django Rest Framework,网站托管在码云,但想用Django的登录。理论上应该这么写:

http://my.server.com/api-auth/login/?next=http://my.frontend.com/

但是这样并不会跳转到我的前端页面,而是跳转到了

http://my.server.com/

这就有点尬了。

测试RedirectView

我对RedirectView做了个小测试,RedirectView是可以接受域外参数的

class MyView(RedirectView):
	url = 'http://baidu.com/"

跳过去一点问题也没有。

解决

有一个参数success_url_allowed_hosts可能有关,打算自定义一个Login页面了。

from __future__ import unicode_literals

import django
from django.conf.urls import url
from django.contrib.auth import views

LoginView = views.LoginView
LogoutView = views.LogoutView
LoginView.success_url_allowed_hosts = {'localhost', 'my.frontend.com'}
LogoutView.success_url_allowed_hosts = {'localhost', 'my.frontend.com'}
login = LoginView.as_view(template_name='rest_framework/login.html')
login_kwargs = {}
logout = LogoutView.as_view()

app_name = 'rest_framework'
urlpatterns = [
    url(r'^login/$', login, login_kwargs, name='login'),
    url(r'^logout/$', logout, name='logout'),
]

代码基本上就是rest_framework/urls.py里面拷的,添加了success_url_allowed_hosts参数。

不得不说,CSDN这个黑色背景真的真的好丑。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值