Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 64 lines (53 sloc) 3.523 kB
acc918f @jacobian Initial import of djangobook from private SVN repo.
jacobian authored
1 ============
2 Introduction
3 ============
4
5 In the early days, Web developers wrote every page by hand. Updating a Web site
6 meant editing HTML; a "redesign" involved redoing every single page, one at a
7 time.
8
9 As Web sites grew and became more ambitious, it quickly became obvious that that
10 situation was tedious, time-consuming, and ultimately untenable. A group of
11 enterprising hackers at NCSA (the National Center for Supercomputing
12 Applications, where Mosaic, the first graphical Web browser, was developed)
13 solved this problem by letting the Web server spawn external programs that could
14 dynamically generate HTML. They called this protocol the Common Gateway
15 Interface, or CGI, and it changed the Web forever.
16
17 It's hard now to imagine what a revelation CGI must have been: instead of
18 treating HTML pages as simple files on disk, CGI allows you to think of your
19 pages as resources generated dynamically on demand. The development of CGI
20 ushered in the first generation of dynamic Web sites.
21
22 However, CGI has its problems: CGI scripts need to contain a lot of repetitive
23 "boilerplate" code, they make code reuse difficult, and they can be difficult
24 for first-time developers to write and understand.
25
26 PHP fixed many of these problems, and it took the world by storm -- it's now by
27 far the most popular tool used to create dynamic Web sites, and dozens of
28 similar languages and environments (ASP, JSP, etc.) followed PHP's design
29 closely. PHP's major innovation is its ease of use: PHP code is simply embedded
30 into plain HTML; the learning curve for someone who already knows HTML is
31 extremely shallow.
32
33 But PHP has its own problems; its very ease of use encourages sloppy,
34 repetitive, ill-conceived code. Worse, PHP does little to protect programmers
35 from security vulnerabilities, and thus many PHP developers found themselves
36 learning about security only once it was too late.
37
38 These and similar frustrations led directly to the development of the current
39 crop of "third-generation" Web development frameworks. These frameworks --
40 Django and Ruby on Rails appear to be the most popular these days -- recognize
41 that the Web's importance has escalated of late. With this new explosion of Web
42 development comes yet another increase in ambition; Web developers are expected
43 to do more and more every day.
44
45 Django was invented to meet these new ambitions. Django lets you build deep,
46 dynamic, interesting sites in an extremely short time. Django is designed to let
47 you focus on the fun, interesting parts of your job while easing the pain of the
48 repetitive bits. In doing so, it provides high-level abstractions of common Web
49 development patterns, shortcuts for frequent programming tasks, and clear
50 conventions on how to solve problems. At the same time, Django tries to stay out
51 of your way, letting you work outside the scope of the framework as needed. We
52 wrote this book because we firmly believe that Django makes Web development
53 better. It's designed to quickly get you moving on your own Django projects, and
54 then ultimately teach you everything you need to know to successfully design,
55 develop, and deploy a site that you'll be proud of.
56
89b2288 @stooj Removed reference to obsolete comment system
stooj authored
57 We're extremely interested in your feedback. This book is `open source`__ and
58 all are welcome to improve it. If you prefer to suggest changes, please drop us
59 a line at feedback@djangobook.com. Either way, we'd love to hear from you! We're
60 glad you're here, and we hope that you find Django as exciting, fun and useful
61 as we do.
62
63 __ http://github.com/jacobian/djangobook.com
Something went wrong with that request. Please try again.