【问题标题】:ImportError at / no module named url, django 1.8.1ImportError at / no module named url, django 1.8.1
【发布时间】:2015-05-12 18:40:17
【问题描述】:

感谢那些聪明才智的帮助。我在官方 django 文档下做 Django 1.7 教程,我碰壁了。这是我的问题。当我尝试将项目 url (mysite.url) 指向应用程序 url (polls.url) 时,我在 /,没有名为 url 的模块出现 ImportError。我正在使用 Python 2.7.9 和 Django 1.8.1。

这是我的投票/views.py:

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the Polls index page.")

这是我的投票/urls.py:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

这是我的 mysite/urls.py:

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

urlpatterns = [
    url(r'^polls/', include('polls.url')),
    url(r'^admin/', include(admin.site.urls)),
]

这里是 mysite/settings.py:

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
 'polls',
)

MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'mysite.urls'

我的代码看起来与 django 教程完全相同,但我仍然收到 ImportError 消息。当我注释掉 url(r'^polls/', include('polls.url')) 在 mysite/urls.py 中,服务器在 127.0.0.1:8000/ 和 127.0.0.1:8000/admin 上运行良好,但我显然不能打开投票页面,因为我的应用程序 url 没有链接到我的项目 url。请帮我睁开眼睛。谢谢。

【问题讨论】:

  • 为什么你在使用 1.8 的时候还跟着 1.7 的教程?
  • 这是他们在django网站上发布的最新教程。我还查看了 1.9 版的开发网站,它仍然具有相同的代码。
  • 我使用的是完全相同的网站。遥遥领先哦。之前尝试过 polls.urls 。它给了我一个 404. 找不到页面。

标签: python-2.7 url django-1.8


【解决方案1】:

url(r'^polls/', include('polls.url')), 不起作用的原因是因为您的文件名为 polls/urls.py,而不是 polls/url.py

【讨论】:

  • 多次尝试使用 polls.urls。它给了我一个 404:始终找不到页面。我尝试添加 from polls import urls,但错误仍然存​​在。
  • 为我工作,谢谢!我刚刚将polls/urls.py 的名称更改为polls/url.py。他们确实需要更新该教程 - 如果您无法启动并运行第一页,则对初学者不太友好。
【解决方案2】:

在文件下

mysite/urls.py 

换行

url(r'^polls/', include('polls.url')) 

url(r'polls/', include('polls.urls'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2017-09-11
    • 2011-08-16
    • 2013-04-07
    • 2017-03-03
    相关资源
    最近更新 更多