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 Voting Nominations Previous Winners
                          Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                          Resources
                          Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics 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