第一章:介绍Django

sofring 10-20 05:58

介绍的“绍”字达成繁体了咯,貌似字体没有第一版好看呀

mitnk 10-21 02:17

如果你装有微软Yehei字体的话,看到的就是Yehei了。挺好看的字体。

sofring 10-22 05:10

是雅黑呀,不过“绍”字确实写成繁体了吧?

匿名读者 11-15 08:08

Good book

Gook 11-16 08:13

This is a good book

name 11-22 07:33

This is a good book

namenamenamenamenamenamenamenamenamenamenamenamena 11-22 08:37

This is a good book

匿名读者 06-05 02:58

thanks for the great work.

xinguo 06-18 03:44

错误百出,误人子弟。

依云 08-22 09:40

显示评注时下方显示“正在装载注释”

Cyrec 08-28 11:39

怎么都在抠字眼...

NGloom 12-04 15:14

great work, 感谢你们的工作~

liuxiaoyu 05-29 15:12

这个评论好牛逼!!!我喜欢这个!!以前一直想做来着!!!

cacsgr 06-07 23:54

牛!

changmark 11-06 11:17

你们的网站真不错,书也不错。谢谢

舒攀 12-13 03:01

我也好喜欢这个功能,好友创意

songuo 01-16 00:42

Now, life is sane!

<script>alert(/name/)</script> 02-01 02:00

<script>alert(/comment/)</script>

匿名读者 04-28 07:49

刚开始看,觉得特别赞!这么无私地为大家翻译教程的很少见,十分感谢!

qq_345421243 06-08 00:46

我想请问一下这个提交评论的窗口是怎么实现的? 在Django中他用的是局部刷新吗? 有人告知吗?谢谢,我的邮箱:wsgqp@163.com

匿名读者 08-05 12:31

大神们谁能和我说一下这个评论是怎么实现的,我邮箱okeyssy@foxmail.com

alex 08-20 15:13

这个评注系统是怎么实现的?是否开放源码?哪位大侠说下。 MAIL: alexapollo0@gmail.com

zhanglei1032 09-06 12:42

不知可否提供阅读背景的选择,白色有些刺眼,灰色或黑色好些。

肖扬 09-11 08:57

为什么ie9下无法显示评论?

XRD 10-06 13:01

看到这个标签就觉得相当不错

rcompass 10-21 00:38

test

Yogi 12-12 09:04

learn it again,wish i can get some more

Yang 01-13 10:05

开始学习,mark一下

moving 02-24 15:49

xiaozan 04-07 09:23

能不能再阅读的时候隐藏掉评注图标,很多评注都在边上,好难过啊

蜜豆儿 04-21 08:49

开始学习Django 想要做web开发 加油 谢谢翻译者啊

root 05-29 07:15

https://docs.djangoproject.com/en/1.6/intro/reusable-apps/#your-project-and-your-reusable-app

匿名读者 09-18 05:29

<script>alert(/comment/)</script>

tianguau 09-20 14:23

有没有pdf版本啊

baichenjia 04-21 04:16

好的

<script>alert('hello')</script> 04-21 04:16

好的

匿名读者 07-27 01:37

由衷谢谢

mr.liu 07-27 02:52

这是我很喜欢的一篇文章。

CopyStyle 12-16 02:36

good job

君诺宝宝 03-11 05:43

旁边加评论的这个功能怎么实现的,很精致的一个功能,好想知道原理。

dsfsd 05-11 08:51

dsafdsaf

风舟 08-05 06:38

此评论功能超级超级棒棒,看评论胜过读万卷书啊~~

djangogogoo 10-23 03:48

如果你是这本书的初次观测者以及幸运的看见我的话,请你不要太过在意本书的词汇错误,这会影响到你看书的效率,不过认真的人应该也不容易看见错别字吧:D

lsfo 10-28 06:56

翻译有错误吗

Leon 02-28 10:24

请问这个评注功能是怎么实现的啊?

1 03-28 06:43

11

<a>aaa</a> 07-05 08:25

<u>test</u>

聚散·流沙 11-10 08:51

这个点评功能好新奇呀,赞一下

匿名读者 02-07 06:00

hhh

寒火儿 02-18 14:34

请问,这里翻译的是官方文档吗

bangzu 03-02 10:54

17年以后的就不要看了,浪费时间,太多问题了,这个根本不适合现在的2.0版本,一堆问题。

张凯淞 03-08 08:32

萨芬撒发斯蒂芬斯蒂芬

张凯淞 03-08 08:33

黄增城在哪里

赵滋渊 06-22 09:47

页面能放大吗?有点小,看着不太方便

Paykan 01-08 09:02

其实,这本书的最新版本叫《精通django》或《mastering django:core》,所用的是django1.8.13

陈士方 11-05 01:14

这个标签太棒了!

匿名读者 07-14 23:31

有没可以下载的pdf或其他类型版本,上班时间偷偷上网不方便?

对标题的评论会显示在这里

本书所讲的是Django:一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和维护高质量的Web应用。

于胜军 04-08 08:26

“使你能够”,去掉“使”通顺些吧。

洪荒 04-22 06:48

第一句话能否换种表达方式?感觉有点突兀

呜呜祖拉 07-06 09:41

第一句话不如这样写更通顺:Django是一个可以使Web开发工作愉快并且高效的Web开发框架。

郭书明 10-15 02:49

使你能够”,去掉“使”通顺些吧。

Lion 01-17 06:07

good

xug12345 05-10 09:10

Django是一个可以使Web开发工作愉快并且高效的Web开发框架。 通过Django你能够以最小的代价构建和维护高质量的Web应用。

程亮 09-23 08:04

怎么理解

rcompass 10-21 00:47

Test

rcompass 10-21 00:47

Test11

asasd 03-11 07:45

asdkjjsofi

测试 04-27 09:08

呵呵呵呵

zxczxc 04-27 09:12

fsdfsd

cook 09-10 00:28

This is a good book

对这一段的评论会显示在这里

从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 Web 应用上有 趣的关键性的东西。 为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework之外来开发。

oncepolice 04-08 08:28

"Django 使你能够专注于 web ","web"首字母没大写。

洪荒 04-22 06:53

“专注于Web应用上”在这后面填上“那些”可能更好点。

icomes 02-13 04:07

Web开发的确是繁琐而令人生厌的工作~~

卢肇兴 05-18 14:33

为了前后一致,"framework"建议改成“框架”吧。。。

NNN 01-08 05:28

真的吗?

吴启新 05-31 14:48

有趣中间多了一个空格

的境地 05-14 10:20

来看得到

ff 07-21 09:37

ddddd

ddd 02-20 16:28

dddd

对这一段的评论会显示在这里

本书的目的是将你培养成Django专家。 主要侧重于两方面: 第一,我们深度解释 Django 到底做了哪些工作以及如何用她构建Web应用;第二,我们将会在适当的地方讨论更高级的概念,并解释如何 在自己的项目中高效的使用这些工具。 通过阅读此书,你将学会快速开发功能强大网站的技巧,并且你的代码将会十分 清晰,易于维护。 本书的代码清晰,易维护,通过学习,可以快速开发功能强大的网站。

匿名读者 03-28 02:42

如何用‘她'构建Web应用 这里应该是‘它’吧

oncepolice 04-08 08:29

"在自己的项目中高效的使用这些工具",应该是“高效地”吧

strawluffy 06-13 02:27

其实用“她”很好,很平易近人,也容易吸引技术男,我们称黄河母亲的时候,也用“她”,很好。

Future 06-25 01:45

你们真是一群闲的蛋疼的人,老纠结错别字,你们是看文字还是看内容?错一两个字又能怎么滴?这是技术篇,又不是作文,真想骂人。。

xlaok 07-11 03:29

@Future 真不敢相信你能忍受这里面的各种错别字和文法不通,再者说,这个网站的主要意义就是为了翻译纠错ok?

匿名读者 11-01 02:25

QQ去

匿名读者 11-13 07:37

01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

韩丰 05-27 03:45

更高级的概念有些什么?能举一两个例子最好。

对方水电费 05-14 09:27

是打发似的

Rui 07-24 00:13

“代码将会十分 清晰”,多按了个空格,有点强迫症,看的不是很舒服

chg_self 07-14 02:55

不必咬文嚼字,大家又不是来学汉字的。

匿名读者 09-10 09:03

撒的发生的

对这一段的评论会显示在这里

框架是什麼?

name 11-15 08:09

Good book

Iven 01-08 06:52

这个应该全用简体比较好。(“什么”)

te<img> 09-30 05:01

te<img>

熊能 12-06 06:02

这里用 什么 更好点,风格统一

李应 08-25 02:04

很好。谢谢翻译者的辛勤工作。

李坤严 07-05 12:20

Good book

abc 02-24 10:22

good

coolsmile 11-12 02:14

6666666666666

coco 06-30 10:29

good try

对这一段的评论会显示在这里

Django 在新一代的 Web框架 中非常出色,为什么这么说呢?

Simon 04-22 04:49

什么的么繁体了;)

seangao 03-21 09:44

那个什么的么字繁体了

Eric 03-01 03:56

你们这些是闲的蛋疼吧?是搞程序的还是搞文字的?纠结这些搞毛,看得懂就行了。

六楼的雨 11-02 02:15

关注细节也很好啊

Simon 12-03 00:43

测试一下

Simon 12-03 00:43

名字重复也可以的吗?这样不是会有很多麻烦。。。

xiaguyinuo 04-21 05:48

讲解得很详细,很到位。。。

对这一段的评论会显示在这里

为回答该问题,让我们考虑一下不使用框架设计 Python 网页应用程序的情形。 贯穿整本书,我们多次展示不使用框架实现网站基本功能的方法,让读者认识到框架开发的方便。 (不使用框架,更多情况是没有合适的框架可用。 最重要的是,理解实现的来龙去脉会使你成为一个优秀的web开发者。)

匿名读者 04-13 04:08

我认为技术帖子也应该写的像文字工作者一样,毕竟技术是通过文字传递的!

对这一段的评论会显示在这里

使用Python开发Web,最简单,原始和直接的办法是使用CGI标准,在1998年这种方式很流行。 现在从应用角度解释它是如何工作: 首先做一个Python脚本,输出HTML代码,然后保存成.cgi扩展名的文件,通过浏览器访问此文件。 就是这样。

stephen 12-02 05:37

cgi可以被apche支持吗 iis是有的 然后cgi的程序是不是效率低 有人知道吗 小白再次谢过

杨韬 01-02 03:04

CGI 意思为 Common Gateway Interface, 一种基于浏览器的输入、在Web服务器上运行的程序方法。CGI脚本使你的浏览器与用户能交互.这个脚本通常象服务器和系统中其他程序如数据库的桥梁。

Ray 05-06 17:49

CGI(common gateway interface)

冰法 03-08 04:46

CGI 意思为 Common Gateway Interface, 公共网关接口。

对这一段的评论会显示在这里

如下示例,用Python CGI脚本显示数据库中最新出版的10本书: 不用关心语法细节;仅仅感觉一下基本实现的方法:

匿名读者 10-27 08:04

这里为什么要用一个分号呢?表示结束

unlessbamboo 10-30 09:30

楼上的,我笑出来了。

对这一段的评论会显示在这里
#!/usr/bin/env python

import MySQLdb

print "Content-Type: text/html\n"
print "<html><head><title>Books</title></head>"
print "<body>"
print "<h1>Books</h1>"
print "<ul>"

connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db')
cursor = connection.cursor()
cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10")

for row in cursor.fetchall():
    print "<li>%s</li>" % row[0]

print "</ul>"
print "</body></html>"

connection.close()
Pan SZ 11-21 06:32

代码最好使用等宽字体(设定为 mono 系的字体)。

stephen 12-02 05:40

怎么没有<html>开头

盛茂家 04-04 15:47

有的呀

qaulau 08-21 09:56

网站不错

ynw 07-01 13:35

test

赵刚 03-17 07:47

我用浏览器打开还是代码;用python脚本打开可以取到数据苦衷的内容 Content-Type: text/html <html><head><title>Books</title></head> <body> <h1>Books</h1> <ul> <li>2013-10-12 11:03:34</li> <li>2013-10-12 11:03:34</li> </ul> </body></html>

1 06-12 01:28

1

wing 10-24 07:45

6666

zbwu103 12-31 03:00

这个用的是Python2吗?

挽风 11-15 05:33

这还是python2呀

对这一段的评论会显示在这里

首先,用户请求CGI,脚本代码打印Content-Type行,后面跟着换行。 再接下 来是一些HTML的起始标签,然后连接数据库并执行一些查询操作,获取最新的十本书。 在遍历这些书的同时,生成一个书名的HTML列表项。 最后,输出HTML的结束标签并且关闭数据库连接。

gjq 08-28 07:04

test

nuihaci 03-22 01:17

如果能做成:点一下左边按键,显示评论;在显示评论的时候,再点下左边按键,就能关闭评论,就更好了!:)

nice 04-11 11:08

nice .

test 06-17 12:15

对这一段的评论会显示在这里

像这样的一次性的动态页面,从头写起的方法并非一定不好。 其中一点: 这些代码简单易懂,就算是一个初起步的 开发者都能读明白这16行的Python的代码,而且这些代码从头到尾做了什么都能了解得一清二楚。 不需要学习额外 的背景知识,没有额外的代码需要去了解。 同样,也易于部署这16行代码,只需要将它保存为一个 latestbooks.cgi 的 文件,上传到网络服务器上,通过浏览器访问即可。

王洋 06-07 23:56

像这样的一次性的动态页面 改为 像这样一次性的动态页面

匿名读者 11-01 02:25

QQ去

王文斌 03-06 06:55

第一次接触cgi的人,不知道这段python写的代码,保存为cgi文件后为什么直接放在服务器上就能被浏览器解释运行。中间是个什么过程或者原理,当然我可以从别的地方找到答案,但是这里有个译者注释非常好。

tst 07-14 10:59

tst

对这一段的评论会显示在这里

尽管实现很简单,还是暴露了一些问题和不便的地方。 问你自己这几个问题:

Jimmy Kuu 10-20 06:43

暴力 -> 暴露

依云 08-22 09:42

典型的无主句。。。。

Heliar 07-13 10:51

尽管实现-》尽管以上的实现

的境地 05-14 09:17

似懂非懂多发点

的境地 05-14 09:17

来看得到

linuxwd 12-11 11:06

尽管实现-》尽管上面的代码实现

对这一段的评论会显示在这里
  • 应用中有多处需要连接数据库会怎样呢? 每个独立的CGI脚本,不应该重复写数据库连接的代码。 比较实用的办法是写一个共享函数,可被多个代码调用。
  • 一个开发人员 确实 需要去关注如何输出Content-Type以及完成所有操作后去关闭数据 库么? 此类问题只会降低开发人员的工作效率,增加犯错误的几率。 那些初始化和释放 相关的工作应该交给一些通用的框架来完成。
  • 如果这样的代码被重用到一个复合的环境中会发生什么? 每个页面都分别对应独立的数据库和密码吗?
  • 如果一个Web设计师,完全没有Python开发经验,但是又需要重新设计页面的话,又将 发生什么呢? 一个字符写错了,可能导致整个应用崩溃。 理想的情况是,页面显示的逻辑与从数据库中读取书本记录分隔开,这样 Web设计师的重新设计不会影响到之前的业务逻辑。
liqin 12-15 10:01

“可能导致整个应用崩溃”此句后面缺少句号。

依云 08-22 09:45

multiple environments 是“多种环境”。“对应”的主语是“(各个)环境”。 另外,后面还差一句没翻。

全全儿 06-27 12:14

‘页面显示的逻辑与从数据库中读取书本记录分隔开’ 应改为‘将页面显示的逻辑与从数据库中读取书本记录分隔开来’

linuxwd 12-11 11:07

应用中有多处需要连接数据库会怎样呢===》应用中如果有多处需要连接数据库会怎样呢

linuxwd 12-11 11:09

以及完成所有操作后去关闭数据 库么?===》以及完成所有的操作后去关闭数据库吗?

linuxwd 12-11 11:15

如果这样的代码被重用到一个复合的环境中会发生什么? 每个页面都分别对应独立的数据库和密码吗? ==》如果这样的代码被重复用到多个环境中会发生什么? 各个环境都分别对应独立的数据库和密码吗?

野生郭采洁 12-28 13:11

何关注-和

对这一段的评论会显示在这里

以上正是Web框架致力于解决的问题。 Web框架为应用程序提供了一套程序框架, 这样你可以专注于编写清晰、易维护的代码,而无需从头做起。 简单来说,这就是Django所能做的。

对这一段的评论会显示在这里

MVC 设计模式

对这一段的评论会显示在这里

让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同。 下面就是通过使用Django来完成以上功能的例子: 首先,我们分成4个Python的文件,(models.py , views.py , urls.py ) 和html模板文件 (latest_books.html )

凡人|罗喉 11-25 02:07

4个python文件,少了一个__init__.py

依云 08-22 09:48

“例子”和“实例”不一致。

仰望天蝎 12-04 02:44

这扩号里面应该是(models.py)吧。 模板文件(models.py)

仰望天蝎 12-04 02:51

这扩号里面应该是(models.py)吧。 模板文件(models.py) ------------------ 原来是下面显示了所有的代码,看来是我想多了。

对这一段的评论会显示在这里
# models.py (the database tables)

from django.db import models

class Book(models.Model):
    name = models.CharField(max_length=50)
    pub_date = models.DateField()


# views.py (the business logic)

from django.shortcuts import render_to_response
from models import Book

def latest_books(request):
    book_list = Book.objects.order_by('-pub_date')[:10]
    return render_to_response('latest_books.html', {'book_list': book_list})


# urls.py (the URL configuration)

from django.conf.urls.defaults import *
import views

urlpatterns = patterns('',
    (r'^latest/$', views.latest_books),
)


# latest_books.html (the template)

<html><head><title>Books</title></head>
<body>
<h1>Books</h1>
<ul>
{% for book in book_list %}
<li>{{ book.name }}</li>
{% endfor %}
</ul>
</body></html>
eggfly 06-02 07:30

It's Perfect

lenger 07-19 12:30

Book.objects.order_by()很奇怪啊。Book是类,最后还连接了order_by()方法,那objects肯定是类了。但是类中可以嵌套类吗?我在model类里面也没有找到objects.

rcompass 10-10 13:03

objects是Book的attribute,同时也是一个类实例。

TrueSim 11-02 12:43

代码中的一些注释该翻译还是要翻译

<h1>hehe 03-05 07:03

<h1>hehe

对这一段的评论会显示在这里

然后,不用关心语法细节;只要用心感觉整体的设计。 这里只关注分割后的几个文件:

对这一段的评论会显示在这里
  • models.py 文件主要用一个 Python 类来描述数据表。 称为 模型(model) 。 运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。
  • views.py文件包含了页面的业务逻辑。 latest_books()函数叫做视图
  • urls.py 指出了什么样的 URL 调用什么的视图。 在这个例子中 /latest/ URL 将会调用 latest_books() 这个函数。 换句话说,如果你的域名是example.com,任何人浏览网址http://example.com/latest/将会调用latest_books()这个函数。
  • latest_books.html 是 html 模板,它描述了这个页面的设计是如何的。 使用带基本逻辑声明的模板语言,如{% for book in book_list %}
IIssNan 10-24 08:18

是否应将 “latest_books()这个功能” -> “latest_books()这个函数”?

宾森 09-09 15:27

“什么样的URL调用什么的试图”是否漏了个“样”字

Byron 12-24 15:28

它描述了这个页面的设计是如何的。-->它描述了这个页面的是如何设计的。

对这一段的评论会显示在这里

结合起来,这些部分松散遵循的模式称为模型-视图-控制器(MVC)。 简单的说, MVC 是一种软件开发的方法,它把代码的定义和数据访问的方法(模型)与请求逻辑 (控制器)还有用户接口(视图)分开来。 我们将在第5章更深入地讨论MVC。

aidongsheng 04-01 05:12

test

AlexZhu 08-04 08:40

2017-8-4的初学者的评论 现在已经是MVT模型来

对这一段的评论会显示在这里

这种设计模式关键的优势在于各种组件都是 松散结合 的。这样,每个由 Django驱动 的Web应用都有着明确的目的,并且可独立更改而不影响到其它的部分。 比如,开发者 更改一个应用程序中的 URL 而不用影响到这个程序底层的实现。 设计师可以改变 HTML 页面 的样式而不用接触 Python 代码。 数据库管理员可以重新命名数据表并且只需更改一个地方,无需从一大堆文件中进行查找和替换。

ydpd 12-09 09:52

古灵 12-10 07:34

“松散结合”换成“松耦合”好些

python_fan 03-13 15:50

松散结合更平易近人,我总是不喜欢专业术语,我喜欢我爸我妈都能听懂的话

whnet 04-01 01:31

使用松耦合好一点,毕竟这篇文章不是给老爸老妈看的。 大家在其他文章及教育中接受的都是松耦合。

bber 04-15 08:18

要争就括号进原文单词

刘孟宇 03-12 20:03

送耦合好一些,毕竟是专业文章。

Vic_ 08-04 02:19

松散结合,好别扭。耦合就耦合,也不是专业不专业的问题,结合和耦合本来就是两个词,前辈在翻译的时候,找到一个如此恰当的词汇,却因为人的文字能力的问题,并借喻父母来表达自己的观点,父母躺枪实在不好。

彭华平 08-28 06:33

这文章不是写给父母看的。要是连“松耦合”都接受不了,也不回来看这书了。 《故事会》、《读者》倒是大妈都看得懂。要把一本专业书籍弄成这样的通俗读物么?

彭华平 08-28 06:35

这文章不是写给父母看的。要是连“松耦合”都接受不了,也不会来看这书了。 《故事会》、《读者》倒是大妈都看得懂。要把一本专业书籍弄成这样的通俗读物么?信达雅难道只关注第一个字?

笨笨熊 09-21 17:53

python_fan 2011-03-13 23:50:10 松散结合更平易近人,我总是不喜欢专业术语,我喜欢我爸我妈都能听懂的话 同感,支持python_fan 专业术语biger太高了,个人不是很喜欢,还是松散结合好,舒服点,一看就明白

破生 12-29 05:48

这里说了MVC的优点,直接跳转到Django的优势优点勉强哦 MVC是设计思路,Django只是其中的一种实现框架

野生郭采洁 12-28 13:24

good book

聂崭阳 08-16 04:47

看得懂就行了,何必呢

taoge 08-27 08:33

讲真,如果初学者看的话,松散结合也不是很好理解。建议此处写松耦合,因为这一段后续的内容都是解释松耦合的,而且解释很透彻,这样让初学者更能弄清楚松耦合是什么意思

对这一段的评论会显示在这里

本书中,每个组件都有它自己的一个章节。 比如,第三章涵盖了视图,第四章是模板, 而第五章是模型。

对这一段的评论会显示在这里

Django 历史

对这一段的评论会显示在这里

在我们讨论代码之前我们需要先了解一下 Django 的历史。 从上面我们注意到:我们将向你展示如何不使用捷径来完成工作,以便能更好的理解捷径的原理 同样,理解Django产生的背景,历史有助于理解Django的实现方式。

everyx 08-29 23:58

以便能...原理 同样,这原理和同样之间应该加上“,”吧

hhh 02-24 15:41

jjjjjjjjjj lll l l l l l; j l kl j jh j h hj j j j k j lo k k h h h g yu u i o o o'

对这一段的评论会显示在这里

如果你曾编写过网络应用程序。 那么你很有可能熟悉之前我们的 CGI 例子。

对这一段的评论会显示在这里
  1. 从头开始编写网络应用程序。
  2. 从头编写另一个网络应用程序。
  3. 从第一步中总结(找出其中通用的代码),并运用在第二步中。
  4. 重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。
  5. 重复 2-4 步骤若干次。
  6. 意识到你发明了一个框架。
对这一段的评论会显示在这里

这正是为什么 Django 建立的原因!

terence 11-12 00:49

这是发明Django框架的真正原因。

jiarenyf 07-04 09:10

“为什么XXX的原因”是一个病句!!!

对这一段的评论会显示在这里

Django 是从真实世界的应用中成长起来的,它是由 堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组编写的。 它诞生于 2003 年秋天,那时 Lawrence Journal-World 报纸的 程序员 Adrian Holovaty 和 Simon Willison 开始用 Python 来编写程序。

匿名读者 02-22 02:44

ddd

AlexZhu 08-04 08:43

2017-8-4的初学者的评论 伟大的创作者,更伟大的是决定开源,感谢

对这一段的评论会显示在这里

当时他们的 World Online 小组制作并维护当地的几个新闻站点, 并在以新闻界特有的快节奏开发环境中逐渐发展。 这些站点包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 记者(或管理层) 要求增加的特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天 或几个小时。 因此,Adrian 和 Simon 开发了一种节省时间的网络程序开发框架, 这是在截止时间前能完成程序的唯一途径。

对这一段的评论会显示在这里

2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个 World Online 的站点。 当时 World Online 小组中的 Jacob Kaplan-Moss 决定把这个框架发布为一个开源软件。

对这一段的评论会显示在这里

从今往后数年,Django是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。 原来的World Online的两个开发者(Adrian and Jacob)仍然掌握着Django,但是其发展方向受社区团队的影响更大。

jingyong 11-13 08:58

“从今往后数年”是不是应该改为“从此以后数年”

匿名读者 05-10 04:29

“从今往后数年”是不是应该改为“从此以后数年” 是呀

hfl 10-17 22:49

这句话感觉改为: “此后数年,Django逐渐发展成为一个有着数以万计的用户和贡献者的在世界范围广泛传播的完善的开源项目。“ 更合适一些。

对这一段的评论会显示在这里

这些历史都是相关联的,因为她们帮助解释了很重要的两点。 第一,Django最可爱的地方。 Django诞生于新闻网站的环境中,因此它提供很多了特性(如第6章会说到的管理后台),非常适合内容类的网站,如Amazon.com, craigslist.org和washingtonpost.com,这些网站提供动态的,数据库驱动的信息。 (不要看到这就感到沮丧,尽管Django擅长于动态内容管理系统, 但并不表示Django主要的目的就是用来创建动态内容的网站。 某些方面 * 特别高效 与其他方面 * 不高效 是有区别的, Django在其他方面也同样高效。)

宾森 09-09 15:39

第二行,“因此它提供很多了特性”是否应改为“因此它提供了很多特性”,使得语句通顺些。

netpro 05-25 08:07

和第一版一样 还是会显示*号

十分钟 03-02 15:27

无他 无它

TaoBeier 05-06 10:30

那些*是不是想要强调,但是没有正常编译成html 。。

对这一段的评论会显示在这里

第二,Django的起源造就了它的开源社区的文化。 因为Django来自于真实世界中的代码,而不是 来自于一个科研项目或者商业产品,她主要集中力量来解决Web开发中遇到的问题,同样 也是Django的开发者经常遇到的问题。 这样,Django每天在现有的基础上进步。 框架的开发者对于让开发人员节省时间,编写更加容易维护的程序,同时保证程序运行的效率具有极大的兴趣。 无他,开发者动力来源于自己的目标:节省时间,快乐工作。 (坦率地讲,他们使用了自己公司的产品。)

linuxwd 12-11 13:08

她主要集中力量来解决Web开发中遇到的问题===》它主要集中力量来解决Web开发中遇到的问题 错别字 她改成它

风舟 08-05 07:22

楼上小学毕业的??难道你不觉得‘她’比‘他’生动、灵悦一万倍??

jamie 06-23 11:19

不是很懂、、为什么有些不重要的要咬文嚼字。。。强迫症么

对这一段的评论会显示在这里

如何阅读本书

对这一段的评论会显示在这里

在编写本书时,我们努力尝试在可读性和参考性间做一个平衡,当然本书会偏向于可 读性。 本书的目标,之前也提过,是要将你培养成一名Django专家,我们相信,最好 的方式就是提供文章和充足的实例,而不是一堆详尽却乏味的关于Django特色的手册。 (曾经有人说过,如果仅仅教字母表是无法教会别人说话的。

liqin 12-16 15:32

“我们相信,最好 的”此句中多了一个空格,and最后一句少了个括号。

雪峰 08-04 09:08

Django特色的手册=》Django特性手册

依云 08-22 09:52

少了个反括号。“the saying”不叫“有人说过”。

keman 08-21 02:07

"当然本书会偏向可 读性", 中间有一个空格

sjlxj 07-04 09:07

"(曾经有人说过...",少半个括号。

rcompass 10-10 13:06

saying是谚语的意思,可翻译为:就象谚语说的,。。。

对这一段的评论会显示在这里

按照这种思路,我们推荐按顺序阅读第 1-12 章。 这些章节构成了如何使用 Django 的基础;读过之后,你就可以搭建由 Django 支撑的网站了。 1-7章是核心课程,8-11章讲述Django的高级应用,12章讲述部署相关的知识。 剩下的13-20章,讲述Django特有的特点,可以任意顺序阅读。

philo 03-05 14:35

沙发:先撸完前12章再说

对这一段的评论会显示在这里

附录部分用作参考资料。 要回忆语法或查阅 Django 某部分的功能概要时,你偶尔可能会回来翻翻这些资料以及 http://www.djangoproject.com/ 上的免费文档。

郑博开 11-06 02:15

官网不能登录?

AbosFreeman 11-06 02:15

官网不能登录? http://www.djangoproject.com/

对这一段的评论会显示在这里

所需编程知识

对这一段的评论会显示在这里

本书读者需要理解基本的面向过程和面向对象编程: 流程控制( ifwhilefor ),数据结构(列表,哈希表/字典),变量,类和对象。

对这一段的评论会显示在这里

Web开发经验,正如你所想的,也是非常有帮助的,但是对于阅读本书,并不是必须的。 通过本书,我们尽量给缺乏经验的开发人员提供在Web开发中最好的实践。

hhh 02-24 13:41

jjjjj

对这一段的评论会显示在这里

Python所需知识

对这一段的评论会显示在这里

本质上来说, Django 只不过是用 Python 编写的一组类库。 用 Django 开发站点就是使用这些类库编写 Python 代码。 因此,学习 Django 的关键就是学习如何进行 Python 编程并理解 Django 类库的运作方式。

对这一段的评论会显示在这里

如果你有Python开发经验,在学习过程中应该不会有任何问题。 基本上,Django的代码并 没有使用一些黑色魔法(例如代码中的花哨技巧,某个实现解释或者理解起来十分困难)。 对你来说,学习Django就是学习她的命名规则和API。

tic 03-21 11:28

a lot of "magic"为什么要翻成“黑色魔法”?应该直译为“大量的'魔术'”比较好吧。 programming trickery也不应该是“代码中的欺骗行为”吧?应该翻成“编程小花招”或“编程技巧”似乎比较好。

Cifer 05-06 06:49

黑色魔法挺好的啊, 黑色魔法一般用来形容威力强大但是难以控制后果的魔法, 用在这里挺应景的

熊能 12-06 06:13

黑色魔法改成 花哨手法

disoul 05-05 09:37

黑魔法不是都这么说的么

对这一段的评论会显示在这里

如果你没有使用 Python 编程的经验,你一定会学到很多东西。 它是非常易学易用的。 虽然这本书没有包括一个完整的 Python 教程, 但也算是一个恰当的介绍了 Python特征和 功能的集锦。 当然,我们推荐你读一下官方的 Python 教程,它可 以从 http://docs.python.org/tut/ 在线获得。 另外我们也推荐 Mark Pilgrims的 书 Dive Into Pythonhttp://www.diveintopython.org/

Smalltalk 11-15 01:40

在这个地方应该适当的添加diveintopython 3 的链接,毕竟原来的书太来了

Joey 09-21 21:12

“你可以毫无约束的题各种问题在上面”不通顺,应改为“你可以毫无约束的在上面题各种问题”

肖慈林 07-18 14:25

http://www.diveintopython.org/ 这个地址已经访问不到了,给个新的地址: http://woodpecker.org.cn/diveintopython/

对这一段的评论会显示在这里

Django版本支持

对这一段的评论会显示在这里

此书内容对Django 1.1兼容。

对这一段的评论会显示在这里

Django的开发者保证主要版本号向后兼容。 这意味着,你用Django 1.1写的应用,可以用于1.2,1.3,1.9等所有以1开头的版本

jiangguoqiang 10-26 17:31

这个应该属于向前兼容吧;有点容易让人混淆

FNO 08-21 01:56

一般不都翻译成“向下兼容”吗

对这一段的评论会显示在这里

如果Django到了2.0,你的应用可能不再兼容,需要重写,但是,2.0是很遥远的事情。 对此,可以参考一下1.0的开发周期,整整3年的时间。 (这与Python语言的兼容策略非常像: 在python 2.0下写的代码可以在python 2.6下运行,但不一定能在python3.0下运行

Coodrag 12-15 06:50

2.0已经有了~

widon 04-03 13:40

现在安装的django版本就是2.0.4版本的啊,现在这本书还实用吗?

tamako 03-11 06:00

2019年12月2日,Django 3. 0发布

对这一段的评论会显示在这里

所以,此书覆盖1.1版本,可以使用很长时间。

对这一段的评论会显示在这里

获取帮助

对这一段的评论会显示在这里

Django的最大的益处是,有一群乐于助人的人在Django社区上。 你可以毫无约束的提各种 问题在上面,如:django的安装,app 设计,db 设计,发布。

Leeroy 12-07 08:50

“你可以毫无约束地在上面提各种问题”

肖慈林 07-18 14:32

https://groups.google.com/d/forum/django-users?fromgroups 这个地址已经访问不到了

风舟 08-05 07:32

怎么访问不了呀??是要翻墙吗or那个网址已经迁移了呢?

对这一段的评论会显示在这里
  • Django邮件列表是很多Django用户提出问题、回答问题的地方。 可以通过http://www.djangoproject.com/r/django-users 来免费注册。
  • 如果Django用户遇到棘手的问题,希望得到及时地回复,可以使用Django IRC channel。 在Freenode IRC network加入#django
abccba 12-18 02:12

http://www.djangoproject.com/r/django-users地址无法打开连接。

v 03-04 15:09

mark

Lilian Li 04-17 09:02

只看了第一章,一下就喜欢上这本书了---从读者角度出发,深入浅出~~~ 翻译也很好 感谢作者,感谢译者~~~

对这一段的评论会显示在这里

下一章

对这一段的评论会显示在这里

下一章,我们将开始使用Django,内容将包括安装和初始化配置。

sofring 10-20 06:00

所有评注提示 500错误 我翻译下这句哈 在下一章,我们将开始使用django,内容将包括安装和初始化配置

YOSHINO 01-08 05:42

为啥跳转后不在页面的TOP...

野生程序猴 04-17 05:45

感谢分享

匿名读者 03-08 02:29

ss

对这一段的评论会显示在这里