urls.py
#...
from myapp.views import MyView
from django.contrib.auth.decorators import login_required
urlpatterns = [
#....
url(r'^terminator/', login_required(MyView.as_view()), name='sexy')
]
views.py
class MyView(View):
def get(self, request):
return render(request, 'itworks.html')
我通过MyView
课程访问Somelogin
课程,该课程重定向到"终结者网址"。但问题是:django将我重定向到以下网址“http://127.0.0.1:8000/accounts/login/?next=/terminator
当然,这个地址没有定义,给了我404.
我在设置中使用LOGIN_REDIRECT_URL
,但这只会给代码带来更多混乱。所以无论如何要避免这种情况"默认/下一步"在django,然后去" http://127.0.0.1:8000/terminator"
由于
答案 0 :(得分:2)
您需要在 LOGIN_URL
中定义 settings.py
。这将覆盖帐户/登录的默认 URL。
添加到您的设置:
LOGIN_URL = 'login'
之前:
http://localhost:8000/accounts/login/?next=/password/reset
之后:
http://localhost:8000/login?next=/password/reset
答案 1 :(得分:0)
您可以通过转到管理员并登录来避免它,以便您不会被重定向。
我通过添加:
url(r'^accounts/',include(admin.site.urls))
在urls.py文件中。
希望它有所帮助