Post archive

New features on Read The Docs

2010 August 28

Since the Django Dash ended, We've been working on adding some requested new features to Read The Docs. There are a couple of major ones that we have added that I'd like to talk about.

hg and svn support

We've added support for all ...

Lessons Learned From The Dash: Nginx SSI

2010 August 22

Continuing from my previous post about Django Dash, I will be talking about another thing that I learned from the dash. This isn't as big of a post, but just something that we ran into that caused us ...

A better webhook for code hosting

2010 August 21

I have written a couple of different services that have needed to be required when your repository has had code committed to it. The normal path of getting this to happen is to ask your users to add your special URL to their list of post-commit hooks for their repository ...

Announcing Read The Docs

2010 August 16

This year's Django Dash just came to an end, and I'm really excited about the project that we built. I'm sure the other teams are feeling just as stoked, because there is an amazing amount of awesome work that was done in the last 48 hours.

I ...

Lessons Learned From The Dash: Easy Django Deployment

2010 August 16

This is going to be a series of posts that talk about what I learned from the Django Dash. I think it's a really fun competetion that is also a great learning experience. I hope that this series catch on, and other people write about some ...

Large Problems in Django, Mostly Solved: Delayed Execution

2010 June 23

[This is part of the Large Problems in Django Series, see previous entries about: Documentation, APIs, Search, and [Database Migrations](http ...

Django Inspect: A generic introspection API for Django models

2010 February 14

Django itself has shipped with a "semi-private" introspection API, _meta, for a long time. I have created a drop-dead simple wrapper on top of this.

The value of introspection keeps growing on me as I realize how it makes making truly reusable applications possible. It is an interesting intersection of ...

The role of designers in the Django community

2010 February 06

UPDATE: There is a new thread about the roles and implementation of a Design Czar up on the Django Developers mailing list. Please contribute there as well, if you have thoughts and ideas.

There has been a [recent discussion](http://groups ...

Large Problems in Django, Mostly Solved: Documentation

2010 February 05

[This is part of the Large Problems in Django Series, see previous entries about: APIs, Search, and Database Migrations]

Django is ...

Correct way to handle default model fields.

2009 November 22

With Kong, I have been trying to figure out a way to provide overridden model defaults. At work, our pythonpath's default to /home/code, however your setup is probably different. It would be useful if there was a simple way to let you override the defaults for your Kong ...

Writing Code with Designers

2009 November 19

When working on side projects, usually you wear all of the hats. Sysadmin, developer, designer, marketing, etc. You have to do all of them, and presumably you do one or two of them well, and the others well enough to get by. Working at the Journal World has been the ...

Finding Missing Indexes That Django Wants (Postgres)

2009 November 18

On Monday at work, our sites started to slow to a crawl. We looked to diagnose the problem, and found that the database server had a load of 10, and was struggling to keep up with the morning rush of traffic. After EXPLAINing the slow queries from the slow query ...

Announcing Kong: A server description and deployment testing tool

2009 November 17

At work we have to manage a ton of Django based sites. Just for our World Company sites, we have over 50 different settings files, and this doesn't take into account the sites that we host for other clients. At this size it becomes basically impossible to test each ...

You should stay for the sprints

2009 November 16

At most open source conferences, a lot of attention is given to the talks. At the ones that I have been to (Djangocon and Pycon), the most fun that I have had, and the most I have learned is during the sprints. I want to talk about the value and ...

Django Testing Code Coverage

2009 November 13

As part of the summer of code 2009, Django test coverage has been developed. I mentored Kevin Kusabik, who developed the code. It is hopefully going to be merged in 1.2, but there are still a few issues to be worked out in the implementation ...

Large Problems in Django, Mostly Solved: APIs

2009 November 11

This is the third part of my Large Problems Series. The first two were Search and Database Migrations.

A lot of efforts have come and gone in the Django space, trying to provide a ...

Correct way to handle mobile browsers

2009 November 09

At work, a lot of our sites have sweet mobile versions. The problem is how to educate people of their existence. Currently we just have little ads that show up on the site that promote the ...

Large Problems in Django, Mostly Solved: Database Migrations

2009 November 06

Continuing in the series of big problems that are mostly solved, we have database migrations. A couple days ago I talked about Search.

Database Migrations

Database Migrations are an interesting piece of the Django community. Rails has the functionality built in, but ...

Making Template Tag Parsing Easier

2009 November 03

In my previous post about template tags, I discussed the two steps required for template tags. Today I will be focusing on Parsing of template tags, and how they may be improved in the framework of Class Based Template Tags from yesterday ...

Class Based Template Tags

2009 November 03

The problem

In Django, template tags currently are separated between a Node class and a "parsing function". The parsing function takes the tag, represented as a string, parses the input, and passes the correct arguments to a Node class. The Node class then does whatever rendering it does, or updating ...

Large Problems in Django, Mostly Solved: Search

2009 November 02

It's been a little over a year since I started doing Django development full-time, for one of them real jobs. Around that time, there were a few large problems in the community that hadn't been solved yet. They were kind of blemishes when you would talk to people ...

Easily Running the Django Test Suite

2009 October 16

Update As of Django 1.2, Django ships with default test settings for sqlite. They require two databases to be defined, because of Multidb. More information at Django advent and in the docs

Alex Gaynor ...

Pretty Django Error Pages

2009 September 23

Continuing on with the simple tricks that make everyone's life a little bit better, I know a lot of people hate that Django's 500 pages don't get rendered as a RequestContext ...

Debugging Django in Production Revisited

2009 September 05

In a previous post I talked about a neat middleware to debug production environments in Django. It basically checked to see if you were a superuser, or if you were in settings.INTERNAL_IPS, and if so, then it displayed a technical 500 ...

Enable setup.py test in your Django apps

2009 June 29

Setuptools comes with a way to run the tests on your application. This allows the user of your software to download it, and run python setup.py test and check to see if the tests in your application pass. This is really useful ...

Migrating Django Test Fixtures Using South

2009 June 11

The Problem

Migrating test fixtures is one of the biggest pains of testing. If you create your tests too early, then change your schema, you have to go back and touch all your old test fixtures. This discourages people from writing tests until their app is relatively 'stable'. As we ...

A playground for Django Template tags and filters

2009 May 24

The Problem

Any sufficiently large Django project starts to have a wide variety of Template Tags and Filters. Even Django ships with a dizzying array of them that allow you to do all sorts of fun and interesting things. Ellington, our CMS at work, has a ton, and I've ...

Django's Summer of Code students announced!

2009 April 20

Today is the day that Google has announced the accepted projects for the Summer of Code. Django has 6 spots this year, with a bunch of exciting projects. I am lucky enough to be mentoring Kevin Kubasik with his project "Upgrade the Awesomness Quotient of the ...

Testing AJAX Views in Django

2009 April 16

A lot of the Django code we use at work has a special case for AJAX. It has been a kind of a pain to test, because the test client by default doesn't use AJAX. Luckily the [is_ajax](http://code.djangoproject.com/browser/django/trunk/django/http/init.py ...

Google Summer of Code

2009 March 12

It's that time of year again, and the Google Summer of Code is happening again. This year Django will be applying again, and there is currently a Wiki page on the Django wiki devoted to ideas and people ...

Pycon and Euro Djangocon

2009 March 08

The ice is starting to thaw and I'm making my way out from under my first winter in Kansas. You know that spring is coming because the conference season is starting to bloom. I'm looking forward to a bunch of conferences that will be upcoming in the new ...

Automatically apply patches from Django's (or any) Trac

2009 February 28

Lately I've been delving into Django development a bit more, and applying people's patches has been a bit of a hassle. You know you want to apply someones patch, but there are about five steps in between you and applying their patch to your source tree.

So I ...

Incredibly useful SSH flag

2009 February 15

So at work we have a lot of different django environments, scattered across varies servers. All of this information is kept in a central resource. We have the pythonpath, settings file, and the remote server that the client is on. So every time that I want to go do work ...

Using rsync with django

2009 January 29

Just a quick warning/tip on using Django with rsync, for other people pulling their hair out later.

When you use rsync a good way to get a directory is using rsync -aCq, which means recursively, quietly, move a directory ignoring common files. The -a command means 'archive'; keep permissions ...

Django Conventions Project Update

2009 January 27

So about a month ago I started a project on my blog called the Django Conventions Project. It was an attempt to document and record conventions that are used across the community. Conventions are a great thing ...

Review of Pro Django by Marty Alchin (1/2)

2009 January 21

5 second review: Reading this book will make you a much better Django Programmer.


In full disclosure, I was sent a review copy of this book by the publisher, but I had already pre-ordered it on Amazon, and the copy I am reviewing is that copy. The review copy is ...

Django now has fast tests

2009 January 15

As of Changeset 9756, Django's test suite is A HELL OF A LOT FASTER. This was one of the 1.1 Features and probably the one I was looking forward to the most. Django Unit Tests ...

Starting a Django Conventions Project and Reference

2008 December 03

During the last month I have proposed some conventions for Django, mostly in the realm of templates. In doing so I have looked around for other documented places where conventions are mentioned. I haven't found a really good reference for Django conventions. [Brian's post](http://oebfare.com/blog ...

Post a day in review

2008 November 30

It's the end of the Post a day for a month. I did pretty well, but fell off about 3 weeks in because of work. First some stats.

Post stats

In [4]: Post.objects.published().filter(publish__year='2008', publish__month='11').count()
Out[4]: 23L

In [10]: for post in ...

The value of conventions, aka testmaker for template tags.

2008 November 27

A couple posts ago, I talked about how we should have conventions for the names that we use in Django Template Blocks. Today I will be talking about the value that is gained from this kind of structure.

Use Cases

Template Tags ...

Testmaker 0.2: Rewritten and improved

2008 November 26

About a week ago, I went ahead and re-wrote testmaker and moved it into my django-test-utils project on github. The syntax is now a bit different, and the whole thing is much improved. This is version 0 ...

Django Aggregator v2 now has tagging, and you should too.

2008 November 22

I have been doing some more work on my Django Community Aggregator / Django People v2 project. A big feature that I want to incorporate is tagging. I want people to be able to sort data by tag, among other things. I think that this is a pretty killer feature.

This ...

Gentlemans agreement on Django templates

2008 November 20

There are a lot of reusable apps out in the Django Ecosystem. I wrote a previous post about why I think that reusable apps should come with templates. There is a problem about distributing templates that I want to address with this ...

A start to the uber community

2008 November 16

Well I spent all day Saturday, and all night. Into Sunday morning hacking on some code. Probably the most productive 24 hours of my life. I have a couple of announcements, but in the spirit of post-a-day, I'll spread them out over a couple days :).

The big one, is ...

Debugging Django in Production Environments

2008 November 15

Nick had a nice post about setting DEBUG based on the hostname of the server that you're site is running on. This allows you to set DEBUG to True for your staging site, and False for your production site.

I do something along ...

Should reusable apps have templates?

2008 November 14

There is a debate among the Django community about whether people should include templates in their reusable apps.

The arguments for including them are generally that it is nice to simply install the app and have things just work. This is a really nice feature to not have to dig ...

Encouraging Testing in Django

2008 November 13

I was having a conversation with Jacob tonight about testing in Django. He has shot down testmaker for being too specific for Django core, which I almost agree with, given my grandiose plans for it before the month is out ...

Practical Django Testing Examples: Views

2008 November 11

This is the fourth in a series of Django testing posts. Check out the others in my Testing series if you want to read more. Today is the start of a sub-series, which is practical examples. This series will be going through each of the different kinds of ...

Announcing Django Crawler and django-test-utils

2008 November 10

Today I'm going to be releasing a new project, called django-test-utils. It's rather empty at the moment, but it does have one cool feature. That is my [Django Crawler](http://github.com/ericholscher/django-test-utils/tree/master/test_utils/management/commands/crawlurls.py ...

The times, they are a changin

2008 November 09

A couple posts back, I was talking about software that I use all the time. I was going through and linking to all of the software. I would go to google, type in the project name, go to the first result, and copy that URL back into my post. I ...

The problem with Django's Template Tags

2008 November 08

There are a lot of things that I love about Django. Template tags are one of them. However, they do have a couple of warts that bother me. I know that there's a problem when I actively look for another way to accomplish something instead of writing a template ...

Making a Django Uber-Community

2008 November 06

My workload at work is about to get a lot less critical and time consuming, so I was looking for a project to start on. I am really interested in the social aspects of the web, and below I will outline an idea that I think will be my next ...

Introduction to Python/Django tests: Fixtures

2008 November 05

In the first two posts of this series, we talked about how to get the basic infrastructure for your tests up and running. You should have a file with doc tests and one with unit tests. They should be linked into your django project with an `init.py ...

Introduction to Python/Django testing: Basic Unit Tests

2008 November 04

Last post we talked about how to set up and use doc tests inside of Django. Today, in the second post of the series, we'll be talking about how to use the other testing framework that comes with Python, unittest. unittest is a xUnit type of testing system (JUnit ...

Introduction to Python/Django testing: Basic Doctests

2008 November 02

This is the first in a series of blog posts and screencasts that will walk you through how to test your Django application. These posts will focus more on how to get things done in Django, but note that a lot of the content is applicable to pure python as ...

A blog post a day keeps the doctor away

2008 November 01

November blog posting month has a special moment in my Django history. It was this time last year that I really got serious into Django. With the help of James Bennett's and Marty Alchin's blog ...

Big list of Django tips (and some python tips too)

2008 October 05

We were talking about things that we wish we had known before while developing for Django the other day in IRC. I proclaimed that we should write them down somewhere. So I'm writing a post to get this effort started. Please feel free to leave comments with your own ...

Getting started with Pinax

2008 September 18

NOTE: This content is a little out of date. Some of the layout might be wrong, but the ideas are still relavent.

I went ahead today and figured that I would try out Pinax, seeing as it's been getting a lot of good press in the ...

Screencast: Django Command Extensions

2008 September 12

This is a screencast on the Django Command Extensions project. It is one of my favorite third party apps, and it gets installed in every Django environment I work in. It provides a plethora of useful manage.py commands, and a couple other little ...

Using pdb to debug management commands and unit tests (Debugging Django Series,Part 4)

2008 September 02

Screencast 4

Today's screencast is about pdb again. This time we are going to be debugging management commands, and unit tests for django. This is a little bit more powerful than the previous screencast which just introduced the basic debugging commands.

Setup

This screencast uses a couple of really ...

Using pdb, the Python Debugger (Django Debugging Series, Part 3)

2008 August 31

I had a couple of comments about my last post saying that I should be sending all of the screencasts to the aggregator because this is content and isn't spam. So I'm going to do that. Thanks for all the feedback everyone! Hope you're enjoying the series ...

Screencast 2: Logging in Django, for fun and profit

2008 August 29

This is the second screencast of a week long series.

So that I don't spam all of the Django Community Feed (Bad RSS handling has done that more than once, Sorry!) I'm only going to be posting this post and the last post summarizing all of the screencasts ...

Screencast: Debugging with the Django Error Page

2008 August 28

This is part 1 of a week long series of screencasts

Hey Everyone, I'm here to make a minor announcement. In the upcoming 7 days, I'm going to be releasing 5-7 screencasts on Django, mostly focused on debugging, and hopefully trying to throw in a couple of other ...

Using Mock objects in Django for testing the current date

2008 August 14

Today I ran into a fun problem when writing template tags at work. (I'll write another post later on the fun-ness that is testing of template tags :) In ellington we have some templatetags that test for the current time of day. ifmorning, ifnight and so on. These template tags ...

Easily packaging and distributing Django apps with setuptools and easy_install

2008 August 06

First off let me say that I know that not everyone likes setuptools and that is fine. distutils works well and is included with python. However, I believe that Python needs to get some parity with what Perl has with CPAN. Pypi is Python's ...

Testmaker .002 (Even easier automated testing in Django)

2008 July 26

Okay, Well I have been hacking away at django-testmaker for the last couple of days based on some ideas from the community. It has gotten a lot better, so here is another blog post showing what's new.

First let me just say how awesome the Django community is, and ...

Automating tests in Django

2008 July 23

Updated

At work lately we've been writing a bunch of tests for all of the work we've been doing. This is generally a good thing (tm). I was getting tired of manually having to write all of the code to test the views ...

Setting up Django and mod_wsgi

2008 July 08

I was just convinced to setup mod_wsgi on my server instead of mod_python, and I'm going to write up how I did it. All of the documentation I found on the internet was really hard to follow, so I'm going to distill it here the best that I ...

Schoolwork

2007 November 25

Implemented Background processes, the ps command, and the kill command in GeekOS today for my Operating System class (hard shit!). Really neat stuff though.

I am also hacking arounc w/ Django to implement my independent study. So busy...