Python django:AttributeError:module';django.contrib.auth.views';没有属性';主页';
我目前正在尝试实现登录和注销到django站点的功能,在虚拟环境中尝试使用命令python manage.py runserver时出现以下错误。我正在使用django 2.2 我的项目:Python django:AttributeError:module';django.contrib.auth.views';没有属性';主页';,python,django,Python,Django,我目前正在尝试实现登录和注销到django站点的功能,在虚拟环境中尝试使用命令python manage.py runserver时出现以下错误。我正在使用django 2.2 我的项目: realtime |-core |-nodejs |-realtime |-templates | |-index.html |-url.py 我的代码url.py from django.conf.urls import include, url from django.contrib
realtime
|-core
|-nodejs
|-realtime
|-templates
| |-index.html
|-url.py
我的代码url.py
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth import views
urlpatterns = [
url(r'Home/$', views.Home, name='Home'),
url(r'^node_api$', views.node_api, name='node_api'),
url(r'^accounts/login/$', auth_views.LoginView.as_view(template_name='myapp/login.html')),
url(r'^login/$', views.LogoutView.as_view(template_name=template_name), name='logout'),
]
core\views.py
from core.models import Comments, User
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseServerError
from django.views.decorators.csrf import csrf_exempt
from django.contrib.sessions.models import Session
from django.contrib.auth.decorators import login_required
import redis
@login_required
def home(request):
comments = Comments.objects.select_related().all()[0:100]
return render(request, 'index.html', locals())
@csrf_exempt
def node_api(request):
try:
#Get User from sessionid
session = Session.objects.get(session_key=request.POST.get('sessionid'))
user_id = session.get_decoded().get('_auth_user_id')
user = User.objects.get(id=user_id)
#Create comment
Comments.objects.create(user=user, text=request.POST.get('comment'))
#Once comment has been created post it to the chat channel
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.publish('chat', user.username + ': ' + request.POST.get('comment'))
return HttpResponse("Everything worked :)")
except Exception as e:
return HttpResponseServerError(str(e))
在线
url(r'Home/$', views.Home, name='Home'),
视图主页
从模块视图
加载,该模块引用此导入:
from django.contrib.auth import views
由于django.contrib.auth.views
没有定义任何类或函数Home
,因此会出现错误
您可能忘记导入应用程序的视图
模块:
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth import views as auth_views
import core.views as my_app_views
urlpatterns = [
url(r'Home/$', my_app_views.home, name='Home'),
url(r'^node_api$', my_app_views.node_api, name='node_api'),
url(r'^accounts/login/$', auth_views.LoginView.as_view(template_name='myapp/login.html')),
url(r'^login/$', auth_views.LogoutView.as_view(template_name=template_name), name='logout'),
]
请注意,在此新版本中,
django.contrib.auth.views
是使用名称auth\u views
导入的,而您的自定义应用的视图
是使用名称my\u app\u views
导入的。这将防止从一个或另一个应用程序调用视图时出现任何混乱添加视图文件。错误来自您的视图,因此可能会有所帮助。您是否可以将多个项目作为视图导入到视图中
?此处的预期结果是什么?是什么让你认为django.contrib.auth.views
会有一个Home
视图?如果您已经编写了主视图
视图,则应该使用该模块路径导入该视图<代码>从myown.views导入主页或类似内容。出现错误:导入。作为my_app_视图的视图^SyntaxError:无效语法
我已修复,但来自。将视图导入为我的应用程序视图导入错误:无法导入名称“视图”
当然。。。您必须使导入适应您自己的代码。我不知道您的视图存储在哪里,并且您在问题中没有提供足够的信息。您必须导入视图模块或视图函数或类,并在urlpatterns列表中使用它们,但您必须真正理解Python导入systemLet。