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')
]
Run Code Online (Sandbox Code Playgroud)
视图.py
class MyView(View):
def get(self, request):
return render(request, 'itworks.html')
Run Code Online (Sandbox Code Playgroud)
我正在MyView通过Somelogin重定向到“terminator url”的类访问类。但问题是:django 将我重定向到以下 url http://127.0.0.1:8000/accounts/login/?next=/terminator。
当然,这个地址没有定义,给了我 404。
我LOGIN_REDIRECT_URL在设置中进行了操作,但这只会给代码带来更多混乱。那么有没有办法避免 django 中的这种“默认/下一个”并直接转到http://127.0.0.1:8000/terminator.
小智 5
您需要LOGIN_URL在您的settings.py. 这将覆盖帐户/登录的默认 URL。
添加到您的设置:
LOGIN_URL = 'login'
Run Code Online (Sandbox Code Playgroud)
前:
LOGIN_URL = 'login'
Run Code Online (Sandbox Code Playgroud)
后:
http://localhost:8000/accounts/login/?next=/password/reset
Run Code Online (Sandbox Code Playgroud)
小智 0
您可以通过进入管理员并登录来避免这种情况,这样您就不会被重定向。我通过
url(r'^accounts/',include(admin.site.urls))
在 urls.py 文件中添加:解决了这个问题。希望能帮助到你
| 归档时间: |
|
| 查看次数: |
4034 次 |
| 最近记录: |