Here is a Django Template tag which you can use to protect the E-mail address on your website against bots or spiders that index or harvest E-mail addresses. It uses a substitution cipher with a different key for every page load.
Continuing my previous post Debugging Django Application, in this post I am trying to aggregate best of web tutorial which will definitely help you while debugging any django application.
Eric Holscher Video ScreenCasts
Here is my list please do share any link that is not listed here.
I remember the days when I used to struggle while debugging django web applications. But after working for more than a year now with django, I am more or less settled with tools I use for debugging Django Application. My Development System is on Windows XP, so this post is specifically for Debugging django on windows.
Debugging Django on Windows XP
The best tool I found on Windows environment for Django/ Python Debugging is : WinPDB, Just download and install.
As the title suggest this post is regarding “Memory Requirement of django ORM”.
Actually some days back I myself faced this problem and wrote “Why Django ORM Sucks : It takes a hell lot of memory in processing“. From various comments and a thread which started on google groups, I came up with few points one should check while operating on large amount of data.
For showing points i’ll use following example:
for r in UserRating.objects.all(): ratingDict = cache.get(r.movie.id) if ratingDict is None: cache.set(r.movie.id, [(r.user.id, r.rating)], 86400) else: ratingDict.append((r.user.id, r.rating)) cache.set(r.movie.id, ratingDict, 86400)
So here are the mistakes in previous code.
The syntax to add it in Model is:
class MyModel(models.Model): video = FileField(upload_to=None[, max_length=100, **options])
Here upload_to is local filesystem path that will be appended to your MEDIA_ROOT setting to determine the value of the url(mymodel.video.url) attribute.
Setting MEDIA_ROOT and upload_to
MEDIA_ROOT = â€˜/home/myname/files/
results in: /home/myname/files/videos/abc.flv
where as if,
MEDIA_ROOT = ‘/home/myname/files/’
and file : abc.flv
result will be saved in : ‘/videos/abc.flv’ (i.e., root directory of filesystem)
You can also set upload_to=’videos/%Y/%m/%d’.
For a project i wanted to keep one of my table in memcache. I tried to do it using Django ORM but it was taking a hell lot of memory.
Let me tell u some details.
Table Structure : This table has almost 1,300,000 rows
All I wanted was to keep them in cache(memcached), with following format:
memcache Key : movie-id
memcache Data : [ (user1:rating1), (user2:rating2) ]
First Approach : Directly from DB
for r in FlixsterUserRating.objects.all(): ratingDict = cache.get(r.movie.id) if ratingDict is None: cache.set(r.movie.id, [(r.user.id, r.rating)], 86400) else: ratingDict.append((r.user.id, r.rating)) cache.set(r.movie.id, ratingDict, 86400) del ratingDict
In this approach for processing every 1000 it was taking some 5.1 secs.
For a project I needed Memcached. But the problem was that I have my development system on WindowsXP.
When I Google I got various links to install Memcached on windows, but there wasn’t any link that tell all about Memcached with Django on Windows
So Here we go: