2017-02-20 63 views
1

我有一个项目和一个应用程序。我正在尝试使用项目中的urls.py来激活应用程序中的视图。Django:从另一个应用导入视图

错误消息:进口homepage.index ModuleNotFoundError:无模块名为 'homepage.index'

在项目urls.py我有这样的import语句:

项目/ urls.py

from homepage.views import index 

然后,在该项目的urls.py,所述URL模式[]数组包括该 参照应用程序的视图:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', homepage.views.index, name='index'), 
] 

主页/ views.py

def index(request): 
    return HttpResponse("My Homepage") 

哪里可能是错误?

回答

2

您输入不正确。更改

url(r'^$', homepage.views.index, name='index'), 

url(r'^$', index, name='index'), 
0

的Django是用Python编写的Web框架,也没有神奇的involved.You被指定完整路径视图urls.py

# here the view is available as index 
from homepage.views import index 
# so reference the view as index 
url(r'^$', index, name='index'), 

如果你需要引用将全名空间,

# here the view can be imported as you intented 
import homepage 
url(r'^$', homepage.views.index, name='index'), 

事情要注意
ModuleNotFound是当模块refered不可 提出,在这种情况下python将尝试使用homepage模块,但它不提供在目前情况下。
ImportError如果在已导入的模块中或在使用from module import x时引用的属性或模块不可用,则会引发此问题。

>>> from os import wow 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: cannot import name 'wow' 
相关问题