2017-02-20 3 views
1

У меня есть проект и приложение. Я пытаюсь использовать urls.py в проекте, чтобы активировать представление, содержащееся в приложении.Django: Импорт вида из другого приложения

Сообщение об ошибке: импорт homepage.index ModuleNotFoundError: модуль не назван 'homepage.index'

В проекте urls.py у меня есть этот оператор импорта:

проект/urls.py

from homepage.views import index 

Затем в urls.py проекта, в urlpatterns [] массив включает в себя эту ссылку зрения приложения:

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, нет никакой волшебной 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' 
Смежные вопросы