我试图将2fa
添加到我的Django
项目中,所以我决定采用this library。
要了解其工作原理,我正在关注他们的example。我的想法是“ 合并”我当前的工作,这样我既可以拥有已经拥有的东西,也可以拥有示例给出的东西。
现在,我正在尝试编辑示例的登录表单,但找不到。
通常,在django
中,我希望在 views.py 文件中定义一个登录表单,它看起来像这样:
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
messages.info(request, f"You are now logged in as {username}")
return redirect("main:homepage")
else:
messages.error(request, "Invalid username or password")
但是我在 example 文件夹中找不到任何类似的内容。谁能给我些帮助?
答案 0 :(得分:1)
通常在Django中,我希望大多数项目都是using the batteries-included LoginView
或从中衍生而来,而不是像您的示例中那样滚动自己的项目。 (实际上,即使您的示例看起来也像是一个函数视图,如果您确实需要滚动自己的登录视图,则只需从FormView
派生,您将获得更少的代码。)
实际上,这或多或少在示例项目中发生了。
您可以看到here in urls.py
包括了two_factor.urls
的全部,其中包括a login view,它的定义是over here。
(实际上,它不是从Django的登录视图派生的,但是想法是相同的。)