需要登录 Mixin 在我什至没有包含它的视图上起作用django

如何解决需要登录 Mixin 在我什至没有包含它的视图上起作用django

所以,我希望我的网站内容只对注册用户可见,所以我在除了登录注册视图之外的大多数视图上都放置了“LoginrequiredMixin”和“@login_required标签。现在,对于注册,我想在注册前给注册一个选择(无论他们是在校大学生还是校友/应届毕业生),我是这样做的:

class choice(View):
    template = "network/choice.html"

    def get(self,request):
        form = ChoiceForm()
        return render(request,self.template,{
            "form": form,"message": "Are you a curent student or an alumni/about to graduate"
        })

    def post(self,request):
        form = ChoiceForm(request.POST)
        if form.is_valid():
            current = form.cleaned_data["current"]

        if current:
            return HttpResponseRedirect('accounts/register/current')
        else:
            return HttpResponseRedirect('accounts/register/alum')

其中 ChoiceForm 只包含一个布尔字段,“register/str:type”是我的注册 URL。

但是在我提交选择表之后:

<form action="{% url 'network:choice' %}" method="post">
          {% csrf_token %}
          {{ form|crispy }}
          <br>
          <input type="submit" value="Proceed"
 </form>

我被带到的网址是:

/accounts/login/?next=/register/current

(我没有在注册视图中包含任何身份验证检查,这没有任何意义,哈哈)

我可能出错的地方是:

因为我希望任何想要访问受限页面的人都被重定向登录页面,所以我定义了我的 Urlpattern 如下:

path('accounts/login/',views.login_view.as_view(),name="login_view"),path('accounts/register/<str:type>',views.register.as_view(),name="register"),

其中 'accounts/login' 是 django 使用 login_required 标签重定向到的路径。我在这里做错了吗?

This 是我的注册视图,尽管我很确定这不是问题所在,因为即使我输入 url 'register/current',该视图甚至都没有加载。我仍然被重定向accounts/login/?next=/register/current

网址模式:

path('',views.index,name='index'),path('new/<str:type>',views.new_page.as_view(),name="new"),path('<str:type>/<str:name>',views.page.as_view(),name="page"),path('logout',views.logout_view,name="logout_view"),path('accounts/login/',path('choice',views.choice.as_view(),name="choice"),

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?