django / python 3.5导入/将views.py分离到单独的文件中

时间:2018-07-26 04:05:41

标签: python django python-3.5

我已经看过这里所能提供的一切。我正在使用python 3.5,并且已经看到了有关它们如何更改导入工作方式的内容。我的Django项目结构如下:

project
  --app
    --views/
      --__init__.py
      --myFile.py
    --__init__.py
    --models.py
    --admin.py
    --urls.py
    --etc....

我的urls.py是这样的:

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

urlpatterns = [
   url(r'^api$', views.function_from_myFile_that_is_not_being_found),
   otherurls()...
]

我遇到的错误是AttributeError: module 'app.views' has no attribute 'function_from_myFile_that_is_not_being_found' 我真的不知道为什么会这样。我曾尝试将导入文件放入我的__init__.py文件中,但这也不起作用。不知道我还缺少什么。

谢谢。

1 个答案:

答案 0 :(得分:2)

在您的项目中,views是一个程序包,而不是单个模块。所以你应该做

from .views import myFile as views