我在我的项目Django 1.10 Python 3.6上使用装饰器login_required。它重定向到“http://127.0.0.1:8000/accounts/login?next=/profile/”此链接但引发了URL错误。
而当我在登录后使用“/ {”手动修改上述链接时,它可以正常工作。所以我认为这是一个unicode“/”的问题,在重定向时不会被渲染。
。
如何在“登录”后呈现此“/”?
答案 0 :(得分:2)
确保您的LOGIN_URL
设置包含尾部斜杠:
LOGIN_URL = '/accounts/login/'
或者,您可以使用网址格式名称。这样做的好处是您无需在设置中对登录网址进行硬编码。
LOGIN_URL = 'account_login'
如果您在使用login_url
装饰器时指定login_required
,则需要确保在那里包含尾部斜杠。
@login_required(login_url='/accounts/login/')
def my_view(request):
...