Django导入SignupView报错:ImportError无法从auth.views导入该类
解决Django中SignupView导入错误的问题
问题原因
你已经在leads/views.py里自己定义了SignupView类,但在urls.py里却错误地尝试从django.contrib.auth.views导入这个类——Django官方的auth模块里只提供了LoginView和LogoutView,根本没有内置的SignupView,这就是报错的核心原因。
修复步骤
修正urls.py的导入语句
删掉django.contrib.auth.views里的SignupView,改成从你的leads.views模块导入你自己写的SignupView:# 修改后的urls.py导入部分 from django.conf import settings from django.conf.urls.static import static from django.contrib import admin from django.contrib.auth.views import LoginView, LogoutView # 移除这里的SignupView from django.urls import path, include from leads.views import hero_page, HeroPageView, SignupView # 从自己的views里导入确保注册模板正常
确认你的registration/signup.html模板存在,并且包含表单渲染代码,比如:<form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">完成注册</button> </form>
额外说明
不管你用的是哪个Django版本(你写的%.0.1应该是输入错误,比如3.0.1/4.0.1),Django官方都没有内置注册视图,你自己用generic.CreateView实现的写法是完全正确的,只要把导入路径改对就能正常运行。
内容的提问来源于stack exchange,提问作者Felix Songwe
相关产品推荐
相关产品推荐

