Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django:AttributeError:module';django.contrib.auth.views';没有属性';主页';_Python_Django - Fatal编程技术网

Python django:AttributeError:module';django.contrib.auth.views';没有属性';主页';

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

我目前正在尝试实现登录和注销到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 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。