holmes.css - CSS Markup Detective What does it do? The holmes.css file will display either an error (red outline), a warning (yellow outline), or a deprecated style (dark grey outline) for flags such as: Missing required attributes on tags, such as name attributes on inputs (lots of these) Potentially improvable markup, such as links with href="#" Deprecated and Non-W3C Elements - see W3C.org's article on obselete tags Non-W3C Attributes - as above, just the most important ones since there are MANY Thanks to Anthony Mann, holmes now displays an informative error message when you hover over the element. Support for :after/::after on images is non-existent however in most browsers. How do I use it?
Sending e-mail Although Python makes sending e-mail relatively easy via the smtplib library, Django provides a couple of light wrappers over it. These wrappers are provided to make sending e-mail extra quick, to make it easy to test e-mail sending during development, and to provide support for platforms that can’t use SMTP. The code lives in the django.core.mail module. Quick example In two lines: from django.core.mail import send_mail send_mail('Subject here', 'Here is the message Font sizing with rem Determining a unit of measurement to size our text can be a topic of heated debate, even in this day and age. Unfortunately, there are still various pros and cons that make the various techniques less desirable. It's just a matter of which less-desirable is most desirable. There are two main techniques that are extolled: Size with pxSize with em Let's review these two approaches before I reveal the magical third.
Model instance reference A few object methods have special purposes. __unicode__ Model.__unicode__() The __unicode__() method is called whenever you call unicode() on an object. The internet is our social network. What if social networks were more like email? What if they were all inter-connected, and you could choose which software (and even which provider) to use based purely on what they offered you? Now they are! A Detailed Django Tutorial: Blog Basics Part IV This is the last part of this 4 part series by Jeff Hui. If you wish, you can download the entire tutorial without having it split up. Today we’ll be learning the gist of Django, a pythonic web framework. In the spirit of a stereotypical web framework tutorial, we’ll produce a primitive blog with the minimal amount of code possible. Yellow background color text indicates text to be entered into a command line/terminal and blue indicates code. If you’ve followed my django screencast, you’ll be familiar with the most of what this tutorial covers.
CSS Selectors and Pseudo Selectors and browser support This page has not been updated for some time and some of the browser versions are obsolete - I'm working on a better format for the page, so check back every now and then :) The following is a range of CSS tests of the most common browsers' support for selectors and pseudo selectors. The tests includes basic stuff from the good old days of CSS1 and funky stuff from the future (CSS3). If you feel like reading more about the selectors and which attributes they support, the W3C is the place to go! Outputting PDFs with Django This document explains how to output PDF files dynamically using Django views. This is made possible by the excellent, open-source ReportLab Python PDF library. The advantage of generating PDF files dynamically is that you can create customized PDFs for different purposes – say, for different users or different pieces of content. For example, Django was used at kusports.com to generate customized, printer-friendly NCAA tournament brackets, as PDF files, for people participating in a March Madness contest. Install ReportLab Download and install the ReportLab library from The user guide (not coincidentally, a PDF file) explains how to install it.
10 open source e-learning projects to watch - Collaboration - Open Source As corporate and government organizations embrace the Web for delivering more education and training programs, a wealth of free and open source e-learning applications will help lower the barrier to entry. TechWorld looks at the options. ATutor ATutor is a Web-based learning content management system (LCMS) designed for accessibility and adaptability by the Adaptive Technology Resource Centre at the University of Toronto. ATutor claims to be modular for new looks and functionality. Like Moodle, ATutor is a PHP application with some 25,000 registered installations.
Heroku Breaks Through with Facebook Cloud Integration Following hot on the heels of its recent announcement that it would add support for Java to the support already given to apps written in Ruby, Node.js and Clojure, Platform-as-a-service provider Heroku this morning announced a breakthrough partnership with Facebook that effectively allows anyone with a Heroku account to become an adept, cloud-based Facebook app developer. To give SitePoint readers a head start, we’ve obtained permission to publish the following tutorial, drawing on functionality in Facebook that is only available from today. Let me hand you over to Adam Wiggins of Heroku. Getting Started with Your Facebook App on Heroku This guide is for Facebook developers who are creating apps on Heroku via the Facebook Cloud Services integration. It assumes no previous knowledge of Heroku.
Custom template tags and filters Django’s template system comes with a wide variety of built-in tags and filters designed to address the presentation logic needs of your application. Nevertheless, you may find yourself needing functionality that is not covered by the core set of template primitives. You can extend the template engine by defining custom tags and filters using Python, and then make them available to your templates using the {% load %} tag. Code layout Custom template tags and filters must live inside a Django app.
Code smells in CSS 20 November, 2012 Chris Coyier recently answered someone’s question: How can you tell if your CSS code smells? What are the signs that the code is sub-optional, or that the developer hasn’t done a good job? What do you look for in the code to determine how good or bad it is? I thought I would extend Chris’ great answer with my own, additional take on things… ZUI Site Riot Tutorial info Knowledge needed: CSS, Intermediate JavaScript Requires: text editor, browser that supports CSS3 transforms Project time: 4 hours With CSS3 transforms now supported in most major browsers, we have the delightful opportunity to experiment creating innovative layouts and interfaces. While the paradigm of the vertical website will continue to prosper, there’s a world of possibilities out there to explore.
Gmail and Django - ltslashgt Did a bit of running around today to get Django sending email via Gmail. It’s simple once you figure it out. If you’re running 0.96, upgrade to the latest development version or apply the patch from ticket #2897. 0.96 does not support TLS, which Gmail requires. Then add the appropriate values to settings.py: EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = 'youremail@gmail.com' EMAIL_HOST_PASSWORD = 'yourpassword' EMAIL_PORT = 587 You can use the shell to test it: