0

だから私はプログラマーブック.comのチュートリアルに従っており、ここにある7番目のビデオを完成させたところですhttp://www.youtube.com/watch?v=hTq98PGOqMA&feature=share&list=PL385A53B00B8B158E

コマンドを ./manage.py runserver に渡した後、次のエラーが発生します。

ImportError at /admin/

No module named apps.homepage

以下は、必要に応じてファイルの内容とディレクトリ構造です。

ブログ/ブログ/urls.py

from django.conf.urls import patterns, include, url
from blog.apps.homepage import *

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    (r'^', include('blog.apps.homepage.urls')),
    # Examples:
    # url(r'^$', 'blog.views.home', name='home'),
    # url(r'^blog/', include('blog.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)

ブログ/アプリ/ホームページ/urls.py

  from django.conf.urls.defaults import *

  urlpatterns = patterns('',
      (r'^$', 'blog.apps.homepage.views.index'),
  )

ブログ/アプリ/ホームページ/views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse('Index Page')

必要な場合に備えて、ここに私のファイルとディレクトリ構造があります

blog
├── apps
│   ├── homepage
│   │   ├── __init__.py
│   │   ├── models.py
│   │   ├── tests.py
│   │   ├── urls.py
│   │   └── views.py
│   └── __init__.py
├── blog
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── custom
│   └── __init__.py
├── data.db
├── manage.py
├── static
│   ├── css
│   ├── img
│   ├── js
│   ├── restricted
│   └── upload
└── templates

このエラーを修正するために何ができるかを誰かが理解するのを手伝ってくれますか?

4

2 に答える 2

2

blogdjangoプロジェクト全体にプロジェクト名を含めないことをお勧めします。以下を変更します。

blog / blog / urls.py

urlpatterns = patterns('',
    url(r'^', include('apps.homepage.urls')),
)

blog / apps / homepage / urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^$', 'apps.homepage.views.index'),
)
于 2012-12-28T22:26:01.580 に答える
0

blog/urls.py で、「from blog.apps.homepage import *」を削除してみてください

リンクされたドキュメントを確認しましたが、その行は表示されません。また、ファイル構造を見ると、この行はファイル内のエンティティではなく、ファイルをインポートしています。通常、「from xyz import *」を使用して、たとえばモデル ファイル内のすべてのモデルをインポートします。これらすべてのファイルをインポートすることで、名前空間の競合またはそのようなものが発生している可能性があります。

settings.py の INSTALLED_APPS に "apps.homepage" の代わりに "homepage" を入れてみてください。あなたが得ているエラーを考えると、これが問題があると思う傾向があります。

于 2012-12-28T22:18:14.960 に答える