A few months ago, I downloaded a mobile theme for WordPress in order to create a mobile site for GrasshopperPebbles. While updating the template, I thought about automating the development process so that future releases would be easier. So I decided to create an open source project – the mobile theme generator. The generator displays mobile sites using jQuery Mobile. In fact, the generator itself was developed using Django and jQuery Mobile (the original theme used jQuery Mobile). I did think that it an odd solution to create PHP files using Python, but it turned out to be a great solution.
After I finished reading the First Steps tutorials on Django’s website, I realized that the documentation did not discuss how to set up a home page. Because Django projects are collection of configurations and apps, I decided that the best way to set up a home page was to create an app.
In my last post, I discussed how to set up Django with Apache and mod_wsgi. In this post, I will discuss how to set up a sub-domain to serve static files (css, js, images, etc). The Django documentation states that using a sub-domain for static files is recommended.
Note: Although I set up my Django installation on Ubuntu, most of these instructions are common to most OS’s.
I beginning a new project where I decided to use Django. I briefly worked with Django for an embedded device over two years ago. Now I am creating a full-fledged web application using Django and jQuery.
When setting up Django, I initially followed the tutorials on djangobook.com. While the site is a good starting point for learning Django, it lacks some details, especially as it relates to serving static files (css, js, etc.) while using the development server. After struggling with the display of my css files, I decided to use Apache instead of the development server. After all, the development server will not be used in production, so I would rather duplicate a production environment as much as possible. In my opinion, the primary reason for using the development server is for debugging, but so far, I have found that Apache’s error log has been pretty good.