2

我正在关注以下链接中给出的 Django 教程:-

http://docs.djangoproject.com/en/1.4/intro/tutorial01/

在运行服务器时,我收到许多错误消息:-

ImportError at /admin/

No module named polls.urls

Request Method:     GET
Request URL:        http://127.0.0.1:8000/admin/
Django Version:     1.4.1
Exception Type:     ImportError
Exception Value:    

No module named polls.urls

Exception Location:     C:\Python27\lib\site-packages\django\utils\importlib.py in import_module, line 35
Python Executable:      C:\Python27\python.exe
Python Version:         2.7.3

Python Path:    

['D:\\chetan\\All_My_Projects\\mysite1',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages']

这些错误类似于在以下内容中提出的错误:-

没有名为 urls 的模块

我的问题是,我们是否需要将项目目录(在我的情况下为 D:\chetan\All_My_Projects\mysite1)添加到环境变量中?这是造成问题的原因吗..

4

4 回答 4

1

这是整个 Django 项目(我想,你在 Windows 上,使用 Py 27)

按着这些次序:

  • 打开cmd,直接到d:\,现在python c:/python27/lib/site-packages/django/bin/django-admin.py startproject mysite

  • cd mysitepython manage.py startapp polls

现在,cd polls

# polls/views.py
from django.shortcuts import render_to_response
def polls_home(request):
    return render_to_response("polls.html")

# polls/urls.py
from django.conf.urls import patterns, include, url
import views
urlpatterns = patterns ("",
                            url(r'^polls$', views.polls_home),
)
  • 转到 d:/mysite/mysite/settings.py 并polls添加INSTALLED_APPS

  • 非常重要:打开 mysite/mysite/urls.py

添加url(r'^home$', include('polls.urls') ),到 url 模式

现在,运行服务器并打开/home/polls

于 2012-09-26T06:35:02.423 回答
0

在 PythonPath.ie 中添加我的项目后,Django 教程正确执行,我的项目是在 'D:\chetan\All_My_Projects\mysite1' 中创建的。我在 Aptana Studio 中所要做的就是:-

1.转到Windows->首选项->PyDev->解释器-Python

2.将“D:\chetan\All_My_Projects\mysite1”添加到 PythonPath。

谢谢大家的帮助。我还想参考以下链接,该链接强调将项目添加到 PythonPath:-

http://www.webmonkey.com/2010/02/Install_Django_and_Build_Your_First_App

于 2012-09-26T06:14:34.520 回答
0

是否有可能您输入了<your_app>/urls.py

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

而不是这个?(需要引号):

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

如果这不起作用,我会检查是否pollsINSTALLED_APPS里面。<your_app>/settings.py

于 2012-09-25T10:55:22.843 回答
0

本教程可以受益于使用绝对路径,例如 mysite/mysite/urls.py,等以避免混淆。这就是为什么...

django 教程有点令人困惑,因为它创建了一个项目mysite(我们大多数人都会给它起一个不同的名称),然后在该项目中mysite它还有一个名为mysite.

  • 一个mysite目录用于启动服务器,因为它包含manage.py
  • 另一个嵌套mysite包含urls.py映射到新应用程序(本教程称为此应用程序polls)。

因此,尽管本教程清楚地解释了目录结构应该是什么样子,但如果尝试过快地遵循它,则应用程序polls应该与站点并排驻留并不是很明显mysite)。从而创造mysite/mysite,mysite/polls或者也许djangotest/djangotest,djangotest/myapp等等。

在学习本教程时,如果有人在错误的目录中创建了必要的文件,那么这个人做错了什么导致错误不会立即显而易见No module named polls.urls

于 2017-06-29T20:34:59.760 回答