【问题标题】:How to hide the next parameter appearing to the url in Django?如何隐藏出现在 Django 中的 url 的下一个参数?
【发布时间】:2017-12-30 16:50:23
【问题描述】:

当我从登录页面启动我的 Django 项目时,url 显示如下:

http://127.0.0.1:8000/login/?next=/

但我只想要这个:

http://127.0.0.1:8000/login

隐藏出现在 url 中的下一个参数的方法是什么? 我已将登录 url 和登录重定向 url 设置为 settings.py:

settings.py

LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'

urls.py

urlpatterns = [
    url(r'^$',views.index,name='home'),
    url(r'login/$',views.userLogin,name='login'),
]

【问题讨论】:

  • 您有什么真正想要这样做的理由吗?当您有其他需要登录的页面并且用户直接转到它们时 - 它不会对用户体验产生太大影响,他们必须登录,转到主页,然后必须返回他们打算去的地方...

标签: python django


【解决方案1】:

此行为位于 django.contrib.auth 中的AccessMixin

如果您不喜欢它 - 从 LoginRequiredMixin 继承并覆盖 redirect_field_name 以返回 ''None。之后您需要对要强制登录的视图使用此 mixin。

你应该有一个很好的理由。通常,正如上面的 cmets 中已经提到的,这种行为很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    相关资源
    最近更新 更多