有没有人使用过Steven Holzner这本书的经验?我在图书馆里把它拿起来,虽然最初对它的简单性印象深刻,但我发现它有一些问题。我对Django或Python的经验不足以了解它们是否与我的版本/设置或错误有关,是否有人可以提供这些问题的原因,或者它们只是书中的错误?
我将在第2章中给出两个例子,这些例子推迟了我完成练习。
示例1 - 第29页 - 清单2.4
在书中,它建议应根据以下内容修改settings.py文件的Installed Apps部分。 在终端。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'chapter2.first'
)
在我的情况下,上述情况不会起作用,但打击会发生。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'first'
)
在这种情况下,错误不允许我使用命令python manage.py syncdb
或python manage.py runserver
并返回错误
ImportError: No module named first
示例2 - 第31页 - 清单2.9
在urls.py文件中,本书指示用户使用以下代码行
from django.conf.urls.defaults import *
在我的情况下,上面没有工作,但下面会
from django.conf.urls import *
在这种情况下,服务器会运行但是Django错误页面将返回给用户并显示错误
ImportError at /
No module named defaults
我知道Python 2.x和3之间存在一些差异,但本书明确地说明了这一点
" Django使用Python 2.3到2.6但尚未使用实验 Python版本3,因此我们将为本书安装2.6版本。
我的设置
Mac OSX 10.9.2 Django 1.6.4 Python 2.7.5
问题重复:有谁能告诉我这两个例子可能导致这些问题的原因,还是只是书中的错误?
答案 0 :(得分:2)
看起来它是一本过时的书。 Django 1.6中已弃用django.conf.urls.defaults
(请参阅here),因此不再使用。
关于这本书本身,我并不熟悉它,但Amazon reviews似乎并不太积极。此外,在import *
中使用通配符导入(即urls.py
在Python中是非常基本的禁忌。请参阅导入here上的pep8。这本身会让我对这本书保持警惕。 / p>
我建议使用官方Django教程(开始here)来获得一些背景知识,以及其他一些基本指南(Tango with Django是另一个最喜欢的)。然后,一旦你的脚湿了,得到Two Scoops of Django,这几乎是Django最佳实践的首选指南。