Python django中的/accounts/login/?下一步

Python django中的/accounts/login/?下一步,python,django,Python,Django,url.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') ] class MyView(View): def get

url.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')
    
]
class MyView(View):
    
    
    def get(self, request):
        return render(request, 'itworks.html')
    
视图.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')
    
]
class MyView(View):
    
    
    def get(self, request):
        return render(request, 'itworks.html')
    
我通过重定向到“终结者url”的
Somelogin
类访问
MyView
类。但问题是:django将我重定向到以下url
http://127.0.0.1:8000/accounts/login/?next=/terminator

当然,这个地址没有定义,给了我404


我在设置中使用了
LOGIN\u REDIRECT\u URL
,但这只会给代码带来更多混乱。那么,在django中是否有避免这种“默认/下一步”的方法,只需转到
http://127.0.0.1:8000/terminator

您可以通过转到管理员并登录那里来避免它,这样您就不会被重定向。 我通过添加以下内容解决了此问题:
url(r'^accounts/',include(admin.site.url))
在URL.py文件中。
希望对您有所帮助

您需要在
settings.py
中定义
LOGIN\u URL
。这将覆盖帐户/登录名的默认URL

添加到您的设置中:

LOGIN_URL = 'login'
之前:

http://localhost:8000/accounts/login/?next=/password/reset
之后:

http://localhost:8000/login?next=/password/reset