私はDjangoプロジェクトに取り組んでおり、作成したアプリケーションのURLConfを設定しようとしています。ここでは(あなたが本当に私の問題を理解するためにはDjangoを理解する必要はありません)Pythonがモジュールをインポートできません
は私のプロジェクトの関連部分
/PROJECT
__init__.py
settings.py
urls.py
/home
__init__.py
views.py
/user
__init__.py
views.py
ある私はPROJECT/urls.py
からhome
をインポートしようとしています:
PROJECT/urls.py (relevant parts)
from django.conf.urls import url, include
from django.contrib import admin
import user
import home # <---
urlpatterns = [
url(r'^$', home.views.index, name='index'), # <---
url(r'^register/$', user.views.register, name='register'),
url(r'^login/$', user.views.login, name='login'),
url(r'^logout/$', user.views.logout, name='logout'),
]
なんらかの理由で、user
はをインポートしますが、インポート中はhome
(およびそのサブモジュール)は。
私はDjangoのWebサーバで構築を実行すると、私はエラーを取得する:
AttributeError: module 'home' has no attribute 'views'
私はuser
とそのサブモジュール
をインポートするため、このエラーを取得しないん私はurls.py
を実行したときに、私はあることに注意する必要があり通常のPythonシェルでは、home
とuser
のインポートエラーが返されますが、DjangoのWebサーバーを実行するとエラーはhome
になります。私のコードのuser
の部分は初めから正常に動作していて、通常のシェルではエラーが発生すると想定しています。
また、何らかの理由で、user
は正しくインポートされませんが、home
は間違っていません。
これは、この使用のPython 3.5.1とDjango 1.9で
どのPythonのバージョンですか? Python2には、意図したものの代わりに取得しているかもしれない 'user'モジュールがあります。 –
Python 3.5、申し訳ありませんが、 – 99lives
エラーから判断して、 'home'モジュール*はインポートされていますが、おそらくあなたが望むものではありません。 'home 'がどこからロードされたかを確認するには' print home'を使います。 – user4815162342