【问题标题】:Django - importing view from DependencyDjango - 从依赖项导入视图
【发布时间】:2019-03-17 14:30:42
【问题描述】:

我正在尝试使用this library,因为我想将 2FA Auth 添加到我的项目中。为了将模块集成到我的项目中,我需要将他们的视图导入到我的 urls.py 文件中,对吗?

我尝试导入 SetupView,但出现此错误:module 'allauth_2fa.views' has no attribute 'homepage'。这是我的理解:看起来如果我从依赖项导入一个视图,它只会从依赖项中读取这些视图而不是我自己在 views.py 上声明的视图>.

from django.urls import path
from . import views
from django.conf.urls import url, include

from django.conf.urls import url

from allauth_2fa import views

app_name = "main"

urlpatterns = [

    path("setup/", views.TwoFactorSetup.as_view(), name="setup"),

    path("", views.homepage, name="homepage"),
    path("register/", views.register, name="register"),
    path("logout/", views.logout_request, name="logout"),
    path("login/", views.login_request, name="login"),

]

额外:SetupView 将生成启用 2FA 身份验证所需的页面,这就是我需要它的原因。稍后我还将导入让我的两因素身份验证完全运行所需的其他视图

【问题讨论】:

    标签: python django django-views django-urls two-factor-authentication


    【解决方案1】:

    一开始你是进口的

    from . import views
    

    然后:

    from allauth_2fa import views
    

    然后你尝试做:

    path("", views.homepage, name="homepage"),
    

    views 不是来自你的项目的 allauth_2fa.views

    所以你只需要这样做:

    from allauth_2fa import views as allauth_2fa_views
    

    然后在你需要的时候使用它

    【讨论】:

    • 感谢您的回答!我试图将导入更改为添加的最后一行,但我再次收到此错误:模块'main.views'没有属性'TwoFactorSetup'
    • TwoFactorSetup 来自您的项目?
    • 如果没有,只需使用 allauth_2fa_views.TwoFactorSetup 而不是 views.TwoFactorSetup
    • TwoFactorSetup 是我尝试从 allauth_2fa 模块导入的视图
    • 当您想要使用项目中的视图时,您应该使用视图,当您想要来自 allauth_2fa 的视图时,您应该使用 allauth_2fa_views
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多