Django的第一个应用程序。导入视图问题

时间:2018-10-08 10:49:37

标签: python django

***已解决:我使用Sublime Text 3作为IDE,它不喜欢'from中的点。导入视图”。我改用Visual Studio Code,一切正常。感谢所有提出建议并给予帮助的人!

我正在通过使用从站点编写第一个Django应用程序文档来学习Django。我已经编辑了三个文件。

在民意调查文件夹中的urls.py文件中:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

在mysite文件夹中的urls.py中:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls')),
]

在民意调查文件夹中的views.py中:

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello once again.')

我正在使用Python 3.7和Django 2.1.2,这两个版本的更新版本都可能会影响到这一点吗?

这是我尝试运行服务器时遇到的错误:

File "D:\DjangoPractice\mysite\polls.urls.py", line5, in <module> path('', views.index, name='index'), AttributeError: module 'polls.views' has no attribute 'index'

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:1)

您的问题是您要在项目path('', views.index, name='index')中添加此行urls.py,而不是在应用程序urls.py上添加

执行from . import views时,您正在项目文件夹中查找视图文件,但是视图文件位于民意调查文件夹中。

您可以通过在urls.py from polls import views

中执行此操作来解决此问题

答案 1 :(得分:0)

将其更改为from .views import *from .views import ViewName

答案 2 :(得分:0)

from polls import views 

将您的应用添加到settings.py INSTALLED_APPS中。

答案 3 :(得分:0)

我怀疑这是否是您提到的编辑器问题。这不是崇高的或VS代码的问题。由于您调用索引函数的方式而出现问题。

我只是觉得最好是为了子孙后代确保一切顺利。将来许多人会以这种方式寻求解决方案。