Skip to Content

Django JavaScript Integration: AJAX and jQuery Table of Contents


Table of Contents

Preface
Chapter 1: jQuery and Ajax Integration in Django
Chapter 2: jQuery—the Most Common JavaScript Framework
Chapter 3: Validating Form Input on the Server Side
Chapter 4: Server-side Database Search with Ajax
Chapter 5: Signing Up and Logging into a Website Using Ajax
Chapter 6: jQuery In-place Editing Using Ajax
Chapter 7: Using jQuery UI Autocomplete in Django Templates
Chapter 8: Django ModelForm: a CSS Makeover
Chapter 9: Database and Search Handling
Chapter 10: Tinkering Around: Bugfixes, Friendlier Password Input, and a Directory That Tells Local Time
Chapter 11: Usability for Hackers
Appendix: Debugging Hard JavaScript Bugs
Index

  • Chapter 1: jQuery and Ajax Integration in Django
    • Ajax and the XMLHttpRequest object
      • Human speech: An overlaid function
      • Ajax: Another overlaid function
      • The technologies Ajax is overlaid on
        • JavaScript
      • XMLHttpRequest
        • Methods
        • Properties
      • HTML/XHTML
      • XML
      • JSON
      • CSS
      • The DOM
      • iframes and other Ajax variations
      • JavaScript/Ajax Libraries
      • Server-side technologies
    • A look at Django
      • Django templating kickstart
      • A more complete glimpse at Django templating
    • Setting JavaScript and other static content in place
    • Summary
    • Chapter 2: jQuery—the Most Common JavaScript Framework
      • jQuery and basic Ajax
      • jQuery Ajax facilities
        • $.ajax()
          • context
          • data
          • dataFilter
          • dataType
          • error(XMLHttpRequest, textStatus, errorThrown)
          • success(data, textStatus, XMLHttpRequest)
          • type
          • url
        • $.aj0axSetup()
          • Sample invocation
          • $.get() and $.post()
          • .load()
      • jQuery as a virtual higher-level language
        • The selectors
      • A closure-based example to measure clock skew
      • Case study: A more in-depth application
        • Chapter 3: Validating Form Input on the Server Side
        • Chapter 4: Server-side Database Search with Ajax
        • Chapter 5: Signing Up and Logging into a Website Using Ajax
        • Chapter 6: jQuery In-place Editing Using Ajax
        • Chapter 7: Using jQuery UI Autocomplete in Django Templates
        • Chapter 8: Django ModelForm: a CSS Makeover
        • Chapter 9: Database and Search Handling
        • Chapter 10: Tinkering Around: Bugfixes, Friendlier Password Input, and a Directory That Tells Local Time
        • Chapter 11: Usability for Hackers
        • Appendix: Debugging Hard JavaScript Bugs
      • Summary
      • Chapter 3: Validating Form Input on the Server Side
        • The standard lecture: low-level validation
          • Matching regular expressions
          • You cannot guarantee absolutely valid data
          • Validating can detect (some) malicious input
        • The Django way of validation
          • Django gives you some things for free
          • The steps in Django's validation
          • A more sensible and cruelty-free approach to validation
          • Things get murkier
          • The zero-one-infinity rule: a cardinal rule of thumb in usability
          • An improvement on Django's advertised approach
          • A validation example: GPS coordinates
          • Avoiding error messages that point fingers and say, "You're wrong!"
        • Validation as demanding that assumptions be met
          • Old-school: conform to our U.S.-based assumptions!
          • Adding the wrong kind of band-aid
        • Making assumptions and demanding that users conform
          • At least names are simple, right?
          • Even in ASCII, things keep getting murkier
        • Better validation may be less validation
          • Caveat: English is something of a lingua franca
          • We don't have to negotiate with pistols
          • Doing our best to solve the wrong problem: a story
          • It really does apply to validation
          • Facebook and LinkedIn know something better
        • Summary
        • Chapter 4: Server-side Database Search with Ajax
          • Searching on the client side and server side
          • Handling databases through Django models
          • Models for an intranet employee photo directory
          • Searching our database
          • A tour of Django persistence facilities
          • Summary
          • Chapter 5: Signing Up and Logging into a Website Using Ajax
            • admin.py: administrative functions called once
            • functions.py: project-specific functions, including our @ajax_login_required decorator
            • views.py: functions that render web pages
            • style.css: basic styling for usability
            • search.html: a template for client-side Ajax
            • The Django admin interface
            • Summary
            • Chapter 6: jQuery In-place Editing Using Ajax
              • Including a plugin
                • How to make pages more responsive
              • A template handling the client-side requirements
                • The bulk of the profile
                • Whitespace and delivery
                • Page-specific JavaScript
                • Support on the server side
              • Summary
              • Chapter 7: Using jQuery UI Autocomplete in Django Templates
                • Adding autocomplete: first attempt
                  • Progressive enhancement, a best practice
                • A real-world workaround
                  • "Interest-based negotiation": a power tool for problem solving when plan A doesn't work
                  • A first workaround
                  • Boilerplate code from jQuery UI documentation
                  • Turning on Ajax behavior (or trying to)
                  • Code on the server side
                • Refining our solution further
                • Summary
                • Chapter 8: Django ModelForm: a CSS Makeover
                  • "Hello, world!" in ModelForm
                  • Expanding and customizing the example
                  • Customizing ModelForm pages' appearance
                  • Going under ModelForm's hood
                  • An excellent "stupid" question: where's the e-mail slot?
                  • Summary
                  • Chapter 9: Database and Search Handling
                    • Moving forward to an AHAH solution
                      • Django templates for simple AHAH
                        • Templating for a list of search results
                        • Template for an individual profile
                      • Views on the server side
                        • Telling if the user is logged in
                        • A view to support deletion
                        • The AHAH view to load profiles
                        • Helper functions for the AHAH view for searching
                        • An updated model
                        • An AHAH server-side search function
                      • Handling the client-side: A template for the main page
                      • CSS for styling the directory
                        • Our updated urlpatterns
                    • Summary
                      • Chapter 11: Usability for Hackers
                        • Usability begins with anthropology… and Django hackers have a good start on anthropology
                        • Anthropological usability techniques
                          • An introductory example: card sorting
                        • Focus groups: cargo cult research for usability
                        • Anthropological observation: the bedrock of usability
                          • More than one way to see the same situation
                        • Applying this foundation to usability
                        • It's just like (hard) debugging
                        • Lessons from other areas
                          • Live cross-cultural encounters
                          • History
                          • Old books and literature
                          • The last other area: whatever you have
                        • Understanding the user
                          • A lesson from optimization
                          • What's wrong with scratching an itch, or you are not your user
                          • Worst practices from the jargon file
                        • Python and usability
                          • It's not all about the computer!
                        • What to do in the concrete
                        • Further reading
                        • Summary
                        • Appendix: Debugging Hard JavaScript Bugs
                          • "Just fiddling with Firebug" is considered harmful
                            • Cargo cult debugging at your fingertips
                            • The scientific method of debugging
                            • Exhausting yourself by barking up the wrong tree
                            • The humble debugger
                            • The value of taking a break
                            • Two major benefits to asking for help
                          • Firebug and Chrome developer tools
                            • The basics across browsers
                            • Zeroing in on Chrome
                          • Summary

                          Awards Nominations Voting Sponsors Previous Winners
                          Judges Open Source CMS Open Source Mobile Toolkit and Libraries Most Promising Open Source Project Open Source Business Applications Open Source JavaScript Libraries Open Source Multimedia Software
                          Resources
                          Open Source CMS Open Source Mobile Toolkit and Libraries Most Promising Open Source Project Open Source Business Applications Open Source JavaScript Libraries Open Source Multimedia Software
                          Open Source Content Management Customer Relationship Management e-Commerce e-Learning Java Linux Servers Networking & Telephony PHP Web Graphics & Video Web Development
                          Enterprise BPEL Microsoft Oracle SOA Web Services
                          Other Packt Books .Net Web Graphics & Video Beginner Guides Cookbooks