Entries tagged with django
27
Announcing djangoembed, rich media consuming and providing with Django
2 Comments | Tags: django oembed
I'm pleased to announce the release of djangoembed, a django app for consuming and providing rich media.
What is OEmbed?
OEmbed is a format for allowing a rich representation of a url. If you've used Facebook you've probably seen this feature before -- linking a YouTube video will embed an actual video player in the news feed, automatically. The player is represented by some HTML, plus there may be additional metadata like the author, a link to their channel, the title of the video, or even a thumbnail.
03
Using virtualenv, pip and django-site-gen to quickly start new Django projects
4 Comments | Tags: django pip virtualenv
Last week, after several false starts, I moved all the sites I maintain into virtualenvs, with their own pip requirements files. My reasons for doing so are pretty simple:
- Experimenting with new/different versions of software is a pain in the ass without isolation
- A pip requirements file for each site is a very nice thing to behold
- I symlink 3rd party apps into a custom directory on my PYTHONPATH and it was getting huge
- Profit
There are quite a few great tutorials out there for getting started with these tools. I will only discuss how I got over some of the hurdles involved in using these tools, as well as a tool for automating the creation of "skeleton" django sites.
To get the benefit of Django 1.2's new CSRF protection, all POST forms will need a special token. Here is a quick command that runs through templates adding the token:
find . -type f -name "*.html" -exec sed -i \
's|\(<form[^>]*method="post"[^>]*>\)\({% csrf_token %}\)\?|\1{% csrf_token %}|g' \
{} \;
22
Generating aggregate data across generic relations
7 Comments | Tags: django aggregation gfk
Aggregation support was added to django's ORM in version 1.1, allowing you to generate Sums, Counts, and more without having to write any SQL. According to the docs aggregation is not supported for generic relations. This entry describes how to work around this using the .extra() method.
Most django sites I create have quite a lot in common. Beyond the handful of files generated by django-admin startproject, my projects all have a database, wsgi file, apache and nginx confs, static media and templates. All these building blocks of a site vary very little from project-to-project. django-site-gen allows you to automate the creation of the stuff that doesn't vary.
