Python django中的/accounts/login/?下一步
url.pyPython 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
#...
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将我重定向到以下urlhttp://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