Django
带有内置的管理页面,该页面具有自己的登录面板。
大多数Django网站都实现了自己的登录面板。这是有道理的,因为它为他们提供了很大的灵活性。但是对于某些应用程序,使用现有的管理员登录面板而不是自己实施即可。
当然,我可以将用户重定向到管理员登录页面。但是,登录后,该用户将自动重定向到主管理页面,而我希望他被重定向到我的应用程序页面。
如何为自己的应用程序使用Django的内置管理员登录面板?
通过重定向到应用程序的页面而不是管理站点,可以无缝地将管理员登录面板集成到您的应用程序中。
Django管理站点提供了用于登录和注销的默认视图,如此处所述:
admin:login
admin:logout
这两个视图都支持next
URL参数,该参数允许您指定在完成处理步骤后将用户重定向到哪个页面。这使您可以指定自己的应用程序页面,而不是管理站点。
请注意,此方法有一个警告:管理员登录面板仅对具有职员角色的用户有效。
对于此Django模板,我们假设您的应用已被调用,my_app
并且该模板是名为的视图的一部分my_app:index
。
{% if request.user.is_authenticated == False %}
<p>
You are currently not logged in. Click
<a href="{% url 'admin:login' %}?next={% url 'my_app:index' %}">here</a>
to login.
</p>
{% else%}
<p>
You are logged in as user: <b>{{ request.user.username }}</b>
<a href="{% url 'admin:logout' %}?next={% url 'my_app:index' %}">[Logout]
</a>
</p>
{% endif %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句