我有一个项目和一个应用程序。我正在尝试使用项目中的urls.py来激活应用程序中保存的视图。
错误消息:import homepage.index ModuleNotFoundError:没有名为' homepage.index'
的模块在项目urls.py中我有这个import语句:
stride=2
然后在项目的urls.py中,urlpatterns []数组包含了这个 参考应用程序的视图:
from homepage.views import index
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', homepage.views.index, name='index'),
]
哪里可能是错误?
答案 0 :(得分:2)
您没有正确导入。变化
url(r'^$', homepage.views.index, name='index'),
到
url(r'^$', index, name='index'),
答案 1 :(得分:0)
Django是一个用python编写的Web框架,没有任何魔法。你在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
,
在这种情况下,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'