Flask Web Development 2e: Developing Web Applications with Python Paperback – 16 March 2018
Amazon Price
|
New from | Used from |
Paperback
""
|
S$43.81
|
S$41.57 | — |
Frequently bought together
Customers who viewed this item also viewed
- The New And Improved Flask Mega-TutorialMiguel GrinbergPaperback
- Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven MicroservicesHarry J.W. PercivalPaperback
- Essential SQLAlchemy, 2e: Mapping Python to DatabasesJason MyersPaperback
- Web Scraping with Python: Collecting More Data from the Modern WebRyan MitchellPaperback
- Fluent Python: Clear, Concise, and Effective ProgrammingLuciano RamalhoPaperback
- Django 3 By Example: Build powerful and reliable Python web applications from scratch, 3rd EditionAntonio MelePaperback
Product details
- Language: : English
- Paperback : 250 pages
- ISBN-10 : 1491991739
- ISBN-13 : 978-1491991732
-
Best Sellers Rank:
65,878 in Books (See Top 100 in Books)
- 177 in Web Development
- 247 in Software Design, Testing & Engineering
- 1,297 in Graphics & Multimedia Software
- Customer reviews:
Product description
About the Author
From the Preface

Flask stands out from other frameworks because it lets developers take the driver’s seat and have full creative control of their applications. Maybe you have heard the phrase “fighting the framework” before. This happens with most frameworks when you decide to solve a problem with a solution that isn’t the official one. It could be that you want to use a different database engine, or maybe a different method of authenticating users. Deviating from the path set by the framework’s developers will give you lots of headaches.
Flask is not like that. Do you like relational databases? Great. Flask supports them all. Maybe you prefer a NoSQL database? No problem at all. Flask works with them too. Want to use your own homegrown database engine? Don’t need a database at all? Still fine. With Flask you can choose the components of your application, or even write your own if that’s what you want. No questions asked!
The key to this freedom is that Flask was designed from the start to be extended. It comes with a robust core that includes the basic functionality that all web applications need and expects the rest to be provided by some of the many third-party extensions in the ecosystem—and, of course, by you.
In this book I present my workflow for developing web applications with Flask. I don’t claim this to be the only true way to build applications with this framework. You should take my choices as recommendations and not as gospel.
Most software development books provide small and focused code examples that demonstrate the different features of the target technology in isolation, leaving the “glue” code that is necessary to transform these different features into a fully working application to be figured out by the reader. I take a completely different approach. All the examples I present are part of a single application that starts out very simple and is expanded in each successive chapter. This application begins life with just a few lines of code and ends as a nicely featured blogging and social networking application.
Who This Book Is For
You should have some level of Python coding experience to make the most of this book. Although the book assumes no previous Flask knowledge, Python concepts such as packages, modules, functions, decorators, and object-oriented programming are assumed to be well understood. Some familiarity with exceptions and diagnosing issues from stack traces will be very useful.
While working through the examples in this book, you will spend a great deal of time in the command line. You should feel comfortable using the command line of your operating system.
Modern web applications cannot avoid the use of HTML, CSS, and JavaScript. The example application that is developed throughout the book obviously makes use of these, but the book itself does not go into a lot of detail regarding these technologies and how they are used. Some degree of familiarity with these languages is recommended if you intend to develop complete applications without the help of a developer versed in client-side techniques.
I released the companion application to this book as open source on GitHub. Although GitHub makes it possible to download applications as regular ZIP or TAR files, I strongly recommend that you install a Git client and familiarize yourself with source code version control (at least with the basic commands to clone and check out the different versions of the application directly from the repository). The short list of commands that you’ll need is shown in “How to Work with the Example Code”. You will want to use version control for your own projects as well, so use this book as an excuse to learn Git!
Customers who bought this item also bought
- Essential SQLAlchemy, 2e: Mapping Python to DatabasesJason MyersPaperback
- The New And Improved Flask Mega-TutorialMiguel GrinbergPaperback
- Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven MicroservicesHarry J.W. PercivalPaperback
- Web Scraping with Python: Collecting More Data from the Modern WebRyan MitchellPaperback
- Fluent Python: Clear, Concise, and Effective ProgrammingLuciano RamalhoPaperback
- Django for Beginners: Build Websites with Python and DjangoWilliam S VincentPaperback
No customer reviews
5 star (0%) |
|
0% |
4 star (0%) |
|
0% |
3 star (0%) |
|
0% |
2 star (0%) |
|
0% |
1 star (0%) |
|
0% |
Most helpful customer reviews on Amazon.com

For instance: on some pages it will use {% block page_content %} and others {% block content %}, when there is no block named page_content. You will spend half your time trying to figure out what the author intended. This book gives you a 50,000 ft view of Flask and the authors website has more useful information than his book.

First, Miguel has a casual but very clear writing style that made me, as a reader, feel like, "you got this".
Next, he *knows his stuff*. He does not just teach flask, but also touches upon all the things that you will need to know in order to create a web server serving a flask app.
He had the most ingenious way to structure the book: he opens with some introduction of the basics of Flask, and once enough is understood, he teaches all the new concepts via an actual app that you can make along with him. What makes this especially useful/amazing/helpful is the subject matter itself: Flask is a fairly minimal web framework, so lots of plugins and additional tools are needed, so you get to see all the other stuff he pulls in that is necessary, but not strictly Flask.
He has the *absolute best GitHub repo* associated with the book. Lots of folks make GitHub repos for their books; I always think this is a good thing. But with Miguel, he went ahead and created commits and tags *associated with each part of the book*!!! You don't understand how awesome this is until you start using it. You're making an entire app, a fairly big project. If you just looked at all the code at once, it could be daunting. If he didn't supply tags, it would be hard to know where to go. But instead, he'll have *in the textbook* a comment like "checkout tag 7b" (the second tag in the 7th chapter). If you check out this tag in your Git repo, your code will look exactly like his.
Lastly, he covers a good deal of unit testing, including covering Selenium, if I remember right. (I don't have the book right in front of me now.)
I *never* choose a technical book by author, and instead by topic. But I think Miguel Grinberg might have just changed my mind... I am so looking forward to reading something else by him. :)

Miguel Grinberg's book introduced me to Github and SQLAlchemy. His coverage of the Flask application structure elements were very detailed. He definitely knows his 'stuff'.
I went thru Chapters 1-8 and then kinda lost interest when the material became a bit too low-level for a business application developer. It was presented very well, but the material began to look more like systems programming than business applications with a nice user experience.
The Blog Project looked like a lot of work for a simple user experience and I skipped over it. If I was building a Wordpress application, I would simply add a plug-in rather than spend a lot of time on an app that wasn't the core attraction of my application.
Chapters 14-18 provide a lot of useful guidelines for deployment and performance tuning.
This is very good book for an intermediate or advanced developer wanting to learn the full power of Flask from an expert. But you might want to look elsewhere for a source building more business-oriented projects.

It is important to see the code received by the client web page, as a result of what the server is doing is doing, when translating python code to HTML and javascript. It's easy enough for me to expose the language on the browser, and maybe the author could emphasize how important this is to "round out" the learning, but I believe this could be expected; understanding that the typical student will be at the next level when researching server side technologies.
There is an online errata for the book, although the errors found during the reading were small enough and can be corrected by the student. This does not veer my interest away, as troubleshooting code should also developed as an important ability for the student. When I do find a serious error in a book, one that goes beyond being counter-intuitive, I expect the next paragraph to say that this error was expected, and to show me how to fix it. This is great in a book that attempts to save time on typical errors that are made, particularly those errors that could be difficult to solve. It's only when I don't find an error explanation and it takes me a considerable time to troubleshoot, or when I get stuck, that I get concerned about a reading. But this has not been my experience with this book. Errors are minimal, simple, and easy to manage and learn from.
This book has exceded by expectations and has made me a fan of the author. I will surely follow him on other writings and projects related to web technologies.
