Services Blog Français

Upcoming backward compatibility break in django-autocomplete-light v1.1.0

| by jpic
In the next week(s), django-autocomplete-light v 1.1.0 will succeed to v1.0.26. It will include commit 2c756a may be short but it will break your custom Autocomplete classes that generate custom HTML and custom django-autocomplete_light templates. To upgrade to 1.1.0, please replace all <div> by <span> with class div in your custom Autocomplete classes and autocomplete_light templates. If you have any, examples can be seen in commit d50fd which fixes some tests (thanks continuous integration provided travis ! Read More

Testing django signals properly

| by jpic | python django
Asserting that signals were sent properly can be a bit tricky: they must be sent in a particular order with specific arguments. Fortunately, mock-django provides plenty of cool features, including a nice signal receiver mock. The only problem with mock-django is that it’s not documented. So I had to reverse-engineer and here’s what I’ve found: the best way to test a signal is to use the call_args_list property of the receiver mock. Read More

Handling relations between ZODB persistent objects, presentation of SubstanceD's pattern

| by jpic
ZODB is an object oriented database for Python, or “NoSQL” database. In one sentence it resumes as such: Don’t squeeze your objects into tables: store them in an object database. It takes normal Python objects and make them persistent. ZODB has been there for more than ten years, it’s mature, more than the new “NoSQL” stuff like CouchDB, MongoDB, etc, etc … To be precise, it’s been doing NoSQL ten years before NoSQL even existed ! Read More

Surviving django.contrib.staticfiles (or: how to manage static files with django)

| by jpic | django best-practice
This article describes how to use django.contrib.staticfiles as this is a FAQ StackOverflow and IRC. Structure The HTTP server is to serve static files directly from a public folder, without going through Django at all. Uploaded files If the HTTP server configuration serves /srv/project/media_root/ on url /media_url/, for example with this nginx configuration: location ^~ /media_url/ { alias /srv/project/media_root/; autoindex off; } Then: settings.MEDIA_ROOT should be /srv/project/media_root/ settings.MEDIA_URL should be /media_url/ /srv/project/media_root/ is managed by Django’s FileField and ImageField file system storage, you should not add files there by yourself. Read More

Never hardcode absolute paths

| by jpic | python django best-practice
This is nonono: STATIC_ROOT = '/home/coat/www/site/app/static/' Never hardcode absolute paths, you’re just making your settings file less portable and probably killing kittens. Adapt this to your needs: import os.path import posixpath PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..') STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') # fix STATICFILES_DIRS too # and TEMPLATE_DIRS

Recent releases

| by jpic
Released: django-autocomplete-light 1.0.4, changes django-cities-light 2.0.1, changes django-documents 0.0.2 The good news is that django-autocomplete-light reached 1.x, which means that it’s API is stabilized, after … 17 releases !
Previous Page 30 of 32 Next Page

They trust us

Contact

logo