我已经用这个问题进行了一些搜索并用Google搜索并查看了文档,所以我想是时候问了.我正在尝试让我的应用程序在登录后重定向到最后查看的页面.我正在运行django 1.2.4并且到目前为止没有运气.
这个Stack Overflow线程似乎可以解决这个问题,但我没有成功: Django:登录后重定向到上一页 ...
目前从任何视图登录后,我被重定向到:// localhost:1100/accounts/profile/
settings.py有这个建议的代码:"django.core.context_processors.request",
这个作为我的登录按钮链接:
<a href="{% url django.contrib.auth.views.login %}?next={{request.path}}">login</a>
我还确保在我的views.py文件中导入RequestContext:from django.template import RequestContext
我觉得这不起作用.另外我注意到现在登录URL中有一个部分的下一个URL:// localhost:1100/accounts/login /?next =
建议?提前致谢!
正如sdolan所说,你可以使用login_required装饰器,但还有一些可能性:
表格行动:
<form method="post" action="{% url django.contrib.auth.views.login %}?next={{request.path}}">
Run Code Online (Sandbox Code Playgroud)下一个隐藏字段:
<input type="hidden" name="next" value="{{request.path}}" />
Run Code Online (Sandbox Code Playgroud)使用登录表单的链接:
<a href="{% url django.contrib.auth.views.login %}?next={{request.path}}">Login</a>
Run Code Online (Sandbox Code Playgroud)要使用它们,您必须在相应的视图中传递请求上下文.可以在此处找到这样做的示例:http://lincolnloop.com/blog/2008/may/10/getting-requestcontext-your-templates/