Python 导入错误:没有名为<;的模块;appname>;

Python 导入错误:没有名为<;的模块;appname>;,python,django,Python,Django,很多其他人都遇到过错误没有名为的模块。然而。我无法理解他们的问题。我尝试运行manage.py shell,然后导入了应用程序(博客)。成功了。那么我的代码有什么问题 url.py: from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^$', 'pro

很多其他人都遇到过错误
没有名为
的模块。然而。我无法理解他们的问题。我尝试运行manage.py shell,然后导入了应用程序(博客)。成功了。那么我的代码有什么问题

url.py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'projectname.blog.views.index', name = 'index')
]
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)
from django.shortcuts import render

from blog.models import posts

def home(request):
    return render('index.html', {'title': 'My First Post'})
Request Method:     GET
Request URL:    http://localhost:8000/
Django Version:     1.8.5
Exception Type:     ImportError
Exception Value:    

No module named blog

Exception Location:     /usr/lib/python2.7/importlib/__init__.py in import_module, line 37
Python Executable:  /usr/bin/python
Python Version:     2.7.6
设置。py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'projectname.blog.views.index', name = 'index')
]
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)
from django.shortcuts import render

from blog.models import posts

def home(request):
    return render('index.html', {'title': 'My First Post'})
Request Method:     GET
Request URL:    http://localhost:8000/
Django Version:     1.8.5
Exception Type:     ImportError
Exception Value:    

No module named blog

Exception Location:     /usr/lib/python2.7/importlib/__init__.py in import_module, line 37
Python Executable:  /usr/bin/python
Python Version:     2.7.6
视图。py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'projectname.blog.views.index', name = 'index')
]
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)
from django.shortcuts import render

from blog.models import posts

def home(request):
    return render('index.html', {'title': 'My First Post'})
Request Method:     GET
Request URL:    http://localhost:8000/
Django Version:     1.8.5
Exception Type:     ImportError
Exception Value:    

No module named blog

Exception Location:     /usr/lib/python2.7/importlib/__init__.py in import_module, line 37
Python Executable:  /usr/bin/python
Python Version:     2.7.6
错误消息:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'projectname.blog.views.index', name = 'index')
]
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)
from django.shortcuts import render

from blog.models import posts

def home(request):
    return render('index.html', {'title': 'My First Post'})
Request Method:     GET
Request URL:    http://localhost:8000/
Django Version:     1.8.5
Exception Type:     ImportError
Exception Value:    

No module named blog

Exception Location:     /usr/lib/python2.7/importlib/__init__.py in import_module, line 37
Python Executable:  /usr/bin/python
Python Version:     2.7.6

不要在特定应用程序的路径中使用项目名称。而不是

url(r'^$', 'projectname.blog.views.index', name = 'index')
使用


不要在特定应用程序的路径中使用项目名称。而不是

url(r'^$', 'projectname.blog.views.index', name = 'index')
使用

有几个问题:

  • 您的项目不是包,因此不应添加
    projectname

  • 您的视图名称是
    home
    ,而不是
    index
  • 因此,您应该使用:

    url(r'^$', 'blog.views.home', name='index')
    
    有几个问题:

  • 您的项目不是包,因此不应添加
    projectname

  • 您的视图名称是
    home
    ,而不是
    index
  • 因此,您应该使用:

    url(r'^$', 'blog.views.home', name='index')
    

    在your views.py中,您被定义为主视图而不是索引 试试下面一个

    def index(request):
        return render('index.html', {'title': 'My First Post'})
    

    在your views.py中,您被定义为主视图而不是索引 试试下面一个

    def index(request):
        return render('index.html', {'title': 'My First Post'})
    

    你的项目不是一个包(也不应该是)。只需离开blog.views.index。谢谢@sobolevn。但是它给了我一个错误:“无法导入”blog.views.index“。视图在模块blog.views中不存在。您的视图名称是
    home
    。不
    索引
    。您的项目不是包(也不应该是包)。只需离开blog.views.index。谢谢@sobolevn。但是它给了我一个错误:“无法导入”blog.views.index“。视图在模块blog.views中不存在。您的视图名称是
    home
    。非
    索引