|
|||||||||||||||||||||||||||||||||||
|
31 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
39 of 40 people found the following review helpful:
3.0 out of 5 stars
A solid introduction, lacking in examples,
By
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
Django is a framework I've long (in web years) held in some esteem, despite never having used it before the past few weeks. The framework's creators' many well reasoned contributions on all manner of debates about the web suggested a thoughtful approach, and the range of high quality sites powered by Django has kept growing, with the recent launch of EveryBlock being a prime example of its capabilities. So I was delighted to receive a copy of The Definitive Guide to django: Web Development Done Right for review.
Authored by two of the creators of Django: Adrian Holovaty and Jacob Kaplan-Moss, the book is carefully structured, initially placing django in context by exploring various approaches to web development, and then stepping through initial project creation, templates, models, url configuration, django's famed admin interface, and so on. After eight chapters it changes tack and switches from basic tutorial to more in-depth exploration of areas like the ORM, session handling, caching and deployment. Several appendices provide supplementary material. The first few chapters do a good job of laying out the foci of the framework's architecture and it's Model Template View (MTV) approach. Its pace is measured and while I wonder if it might be a little too much too soon for those totally new to full stack web frameworks, it would work well for those coming from a background building web apps with PHP, Java, or for those of us who are used to working with Rails. There are new techniques to learn and I found the book particularly useful for grasping the deeply pythonic approach, favouring flexibility over convention. A clear example of that comes in the use of Context objects for passing values between Views and Templates. The authors initially show us the most verbose and rudimentary way to do it and gradually develop that to show how they've provided for various common cases. By going through those steps there's a good chance the reader will be well equipped to work out ways to simplify their own workflow and/or create new subclasses to promote reuse in their code. Where the book is lacking is in the examples. The introductory material, and much of the reference content is excellent, but as a newcomer to the framework I felt a little lost in how I should structure my code and how different components relate; it's clear how models relate to the database, but how do I pass them around when building associations? I recognise that django deliberately avoids the strong conventions of the Rails community (though even there you frequently find newcomers unsure where in the directory structure to place certain components) and there's no need for lengthy tutorials on building a shop or how a magazine cms could work, but when I come to a book like this I'm looking for a guide to best practices at the project architecture level, not just the component level, and I was sorry not to find it. The authors clearly have a lot of experience of structuring django sites of all shapes and sizes and it would be good to learn more about how they keep those sites organised. That said, this is a solid introduction to django for web developers; a solid contribution in a so-far underserved market and it's likely to come in handy for a number of people. Just be prepared to supplement it with a fair amount of time in search engines working out good strategies for connecting the pieces. Disclaimer: I was sent a copy of this book for review by the publisher.
12 of 12 people found the following review helpful:
5.0 out of 5 stars
If you had to limit yourself to one Django book...,
By
Amazon Verified Purchase(What's this?)
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I've been working with Django full-time for the past nine months. Just from my day-to-day work, I've learned most of what's in this book (with major help from the official Django documentation and the mailing list), but I'd just been using this book as a reference. I finally took the time in the past week to read this book cover-to-cover, and it's fantastic. It really filled in the gaps in my knowledge, and gave me a deeper understanding of what's going on in the background when I use the Django features I touch every day.
If I had read this book six or eight months ago, it would have saved me a lot of time, and I would have written more reusable code. I say "six or eight" months instead of "since the beginning" because I really felt like I was able to get the most out of this book because I intimately understood the framework. If I had never used Django before reading this it would still have been fantastic, but to really get the full benefit I would have had to read it again once I had more Django under my belt. If you're brand-new to Django, I recommend this learning path: 1. Do the official tutorial first as the bare-minimum. 2. If you have projects in mind, do them! If not, get James Bennett's Practical Django Projects, Second Edition (Expert's Voice in Web Development) in which he walks you through creating and enhancing fully-functional Django applications using the best practices of the community. 3. With that Django experience, read this book cover-to-cover. You'll be able to do pretty much anything you want with Django at that point.
73 of 96 people found the following review helpful:
3.0 out of 5 stars
Another Definitive Flop from Apress,
By
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I buy books like these because I don't like reading documentation on a computer screen where I can't dog-ear or highlight anything, but after several bad experiences I'll probably avoid these black and yellow striped titles the same way I avoid black and yellow striped insects in the future. O'Reilly books are frequently hit-or-miss affairs, but everything I've seen come out of Apress looks like it was typeset by a 12 year old and simply isn't worth the money. It seems as though anyone who's ever written a single line of code and given it away for free can get a publishing deal these days.
Forgetting for a moment the various reasons why Django itself fails to live up to its own "perfectionist" hype, this book is just not very good. The first couple of chapters do a decent job covering introductory topics, but it quickly becomes apparent that the authors were in a big hurry to finish the rest of it as quickly as possible. There's even a "guest author" brought in at one point for no apparent reason, and his chapter is one of the worst. Those few examples that are given in latter, more advanced, sections are nothing but code that is so full of typos it never should have made it to publication. This is why developers are seldom allowed to pen their own public documentation whether they fetch coffee at a podunk newspaper or not--you spend enough time staring at your own code that you lose all sense of perspective and can no longer approach it as a newcomer would. You know what works best for you and your rapidly balding twenty-nothing IRC clique, and you figure that's good enough for everyone else. It ain't. Another problem with letting the creators write their own "definitive" books is the way they tend to glance over the framework's shortcomings. The chapter on session management fails to mention the fact that Django expects YOU to clean up stale session data yourself, and the one on deployment makes little mention of the fact that there's not really any good way to get Django running smoothly without root access to the server--something a lot of people do not have--and they actually expect their users to run TWO servers--one for Django and one for everything else, like image files. There are ways around this, but why not put this kind of information right at the front of the book the way most others do so people can make an informed decision as to whether or not they should bother with your product right off the bat? Apache configuration is, according to them, "beyond the scope of this book." A quick Google search showed that any and all bugs related to this matter are immediately closed and marked "will not fix" by Django maintainers. It would seem that arrogance is the one feature of Rails they understood well enough to mimic correctly. Even if you hate online books, you should stick to the free version. They at least implemented a comments system that will let other people point out where all the various typos are before you get stuck trying to figure out why this perfectionist's code isn't running very perfectly.
6 of 6 people found the following review helpful:
3.0 out of 5 stars
A nice reference, but not as good as the web version for learning Django,
By
Amazon Verified Purchase(What's this?)
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I wanted to give this book more stars, but I just can't. As a reference book for Django developers, it's excellent. As a beginner's guide to learning Django, it fails because Apress didn't make a sufficient effort to ensure that the book made it to bookstores without show-stopping errors and/or omissions in the book's source code. For a somewhat experienced Django developer, the errors are simple and easy to identify and fix. For a person using this book to learn Django for the first time, it's a show-stopper because it means a lot of wasted time and confusion over code that isn't working when the problem isn't the student but a failure by the teacher.
Most people know that there is a free web-based version of this book. Personally, I like having a physical copy of the book open next to my computer when I need to reference something. However, a person learning Django for the first time is going to have to use the web site anyway to get the correct source code that should already be in a book with a price tag of $44.99. And, the web site has the added benefit of having additional tips and suggestions from other members of the Django community that may be useful for a newcomer to the framework. Another gripe I have with the book is that a substantial amount of time and space is dedicated to walking you through specific ways of doing things only to later tell you that you just wasted your time learning how not to do it because there is a better, simpler, and faster way. I understand the importance of learning why things work a certain way, but it's frustrating for me to spend time wrapping my brain around a concept only to later be told that I spent that mental energy trying to remember something I don't need to know. If the authors want to take the approach of showing the hard way first, they should at least let the reader know that it is important to understand what is going on but not to spend too much time trying to remember it because there is a better, preferred way of doing it. Django newbies: I recommend using the web site to learn Django, then consider purchasing this book as a reference. Django developers: This is a great reference book and will prove to be useful. Just don't pay the cover price for it.
6 of 6 people found the following review helpful:
3.0 out of 5 stars
Weak but not Bad,
By
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I've been coding in Python for a profession since 1995 and have over the years developed several web frameworks. They could never compete with Django, Pylons, Rails, Nitrogen, etc, but since they were my own I always found it easier to use them. Now, just recently, I got several important web applications to build. The first one was a casino. So I thought it's time try something new and use one of the big frameworks. The casino was going to be a rewrite of a python casino I developed for Caesars in 1995. So I had to choose one of the python frameworks. I've already done some work in TurboGears (and Zope is for other things...) so that left me Django and Pylons. I bought The Definitive Guide to Pylons (Expert's Voice in Web Development) and The Definitive Guide to Django: Web Development Done Right. I read both from cover to cover twice over but I knew from the first few chapters that Pylons and Gardner had won. Why? The Pylons book really gave me something. I came away from it full of enthusiasm to program in Pylons!
"The Definitive Guide to Django" is a weak but not bad book. On the Django frame work itself it adds little to what you can get from reading the web site documentation. The examples don't really develop typical web development problems: DB schema changes and migration, Complex DB interaction, Site security, (How do you add data or subclass Djangos user ?), Ajax, testing, and releasing, interfacing to payment systems, etc. Chapter 14 - "Other Contributed Frameworks" was nice, but you don't buy a book for just one chapter, or do you ? So if you want to have the Django web site documentation in a book The Definitive Guide to Django: Web Development Done Right is for you, otherwise it offers nothing much more. But what ever you do, DON'T make the mistake of buying Pro Django (Expert's Voice in Web Development). You see, I didn't want to condemn Django on just the reading of one book, so I went out and bought "Pro Django" which is unreadable. In fact whenever we need a laugh we read sections of this SCIgen masterpiece out load in the office!
22 of 28 people found the following review helpful:
3.0 out of 5 stars
Sufficient, but written on drool-proof paper,
By DavidInBerkeley (Berkeley, CA) - See all my reviews
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
This book is a decent survey of Django's capabilities as well as an introduction to MVC-based web dev. Unfortunately it suffers from a very simple problem: too much explanation getting in the way of information. For example: no one cares how "pure" the MVC-ness of Django is. Another example: excellent documentation on regular expressions already exists at the Python module index. I suspect that the authors mistakenly believe this extra information is "helpful" in some sense, but it isn't. It gets in the way!
In short: sufficient to the need, but the authors have SEVERELY compromised its usability with excessive padding and pointless discussion. Unfortunately this seems to be common practice in the web world.
15 of 19 people found the following review helpful:
5.0 out of 5 stars
Django makes websites fun again.,
By
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
A good web site framework makes you more productive, and if you're a geek (admit it, you wouldn't be reading this if you weren't one), more productive == more fun. A good idea without good documentation is nothing more than a hobby project. Django is, most emphatically, *not* a hobby project.
Adrian and Jacob's writing is technically accurate while remaining clean and readable. They do far more than simply regurgitate the online docs (which they were major contributors to), they get into the 'why.' They are of that rare breed that can first write the code (and do it well) and then write the docs, and do that well also. One of the criteria I judge technical books on is their examples -- good examples don't simply repeat in code what was given in the previous paragraph, they expand and illuminate the concepts and, at their best, they cause the reader to have small (or large) epiphanies about the subject at hand. In particular, "Chapter 10: Extending the Template Engine" and "Chapter 15: Middleware" caused me to rethink how to handle several knotty problems. The copious examples in the book expertly walk the line between being too simple to be instructive and too complex to digest. Although this is not intended as a book for Python beginners, beginners can learn an lot about good Python programming from it.
4 of 4 people found the following review helpful:
4.0 out of 5 stars
A good, but dated book,
Amazon Verified Purchase(What's this?)
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I bought The Definitive Guide to Django: Web Development Done Right due to a course at my university. I was supposed to make a RESTful web-application, and I figured using Django would probably be a good idea since Django in itself is very RESTful.
Unfortunately the book is released for the 0.96 version of Django, and the current is 1.0. As such, a lot of the examples in the book do not work. Luckily the book is available online, and users have supplied readers like me with comments making the examples from the book work. I'm glad I bought the book, I really want to support the authors, but I'm slightly annoyed that the printed book in all regards is useless and I have to be tied to the online version to make it work (makes it hard to work from my café!). If you are considering this book: Wait for an updated version, and stick with the online version for now.
13 of 17 people found the following review helpful:
5.0 out of 5 stars
Excellent guide to Django development,
By
Amazon Verified Purchase(What's this?)
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
I've been using Python since the late 90s and have been using Django since it was first released to the public. I thought I knew how everything fit together in Django, but I was wrong. This book filled in the gaps and gave me a deeper understanding of the Django framework itself as well as the philosophy behind it.
The writing style is great and the examples walk you through the framework in a way that gives you a good understanding of how Django works. I wish I would have had this book when I first started looking at Django. I highly recommend this book to Django beginners and experts alike.
10 of 13 people found the following review helpful:
5.0 out of 5 stars
thank you!,
By boston-reader (Boston, MA United States) - See all my reviews
This review is from: The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) (Paperback)
As a programmer, every few years something comes along that makes you want to redo everything you've recently been working on--because it's easier, it makes sense, and it's actually fun.
Using Django for web development is the difference between using a rusty screwdriver or having five people with new Makita cordless drills. Similar to the www.djangoproject.com site, the book is clearly written with excellent examples. Although I'm glad the book is out, the selfish side of me wishes another year passed before more people were exposed to this framework. This sentiment is echoed by a friend who started a job at a cancer research center 6 months ago. Since his first project finished (done in Django), three departments have now dumped Java frameworks for Django. The productivity difference is incredible--and logical--no hidden "magic" |
|
Most Helpful First | Newest First
|
|
The Definitive Guide to Django: Web Development Done Right (Expert's Voice in Web Development) by Jason Gilmore (Paperback - July 1, 2009)
$44.99 $27.38
In Stock | ||