所以我正在关注programmersbook.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
有人可以帮我理解我可以做些什么来解决这个错误吗?
答案 0 :(得分:2)
建议不要在django项目中包含项目名称blog
。修改以下内容:
urlpatterns = patterns('',
url(r'^', include('apps.homepage.urls')),
)
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^$', 'apps.homepage.views.index'),
)
答案 1 :(得分:0)
在blog / urls.py中,尝试从blog.apps.homepage import *中删除“
我检查了链接的文档,那条线没有出现在那里。此外,如果查看文件结构,此行将导入文件,而不是文件中的实体。通常,您可以使用“from x.y.z import *”来导入模型文件中的所有模型。可能是您通过导入所有这些文件而获得名称空间冲突或类似的东西。
也许还尝试在settings.py的INSTALLED_APPS中输入“homepage”而不是“apps.homepage”。鉴于你得到的错误,我倾向于认为这就是问题所在。