Blog


Getting SQL query string from Django orm query

I often want to see the actual SQL generated by the orm query. This is important especially if you are running some DML queries like update, select etc and want to ensure that generated sql is exactly what you had in mind. If the query results in a queryset, its really straight forward. goto ./manage.py […]




Temporary Files in Python

Let me start with an actual use case scenario. As a backend developer, I need to process the user uploaded file data all the time. Here temporary files shine. The best part about these is that they make cleanup easier. If you make a real file, you need to use some OS level utility to […]




Removing non-ascii characters from text in Python

I was handling some text scraped using Scrapy and the text had non-ascii unicode charcters like \u003e. If I did this, it didn’t work:

Here response.text is the string that contains unicode text (scrapy returns strings encoded in unicode). The html_text still had non ascii unicode characters like \u003e This worked:

Note that […]




ES6 Javascript quick recap cookbook




Working with Python lxml parser for creating XML elements

lxml parser can be a bit confusing because of the sheer range of options it offers. Here are a few cookbook style examples. XML Generation Target code:

Ok, Here is the code to generate it:

Notice the nsmap = {None: XHTML_NAMESPACE} line in etree.Element(‘root_element’, nsmap = {None: XHTML_NAMESPACE}, some_more_params=”12345-678-ABC”, yet_more_params=”POKEMON-SUCKS”). This is required […]




Steps for adding ImageField in Django, Django Rest Framework

1. pip install pillow 2. modify the task app model and add ImageField to handle images 3. modify serializer for image and file field 4. create a folder in base project directory to store MEDIA data (i.e.: images, uploaded files) 5. Add MEDIA related settings (MEDIA_ROOT & MEDIA_URL) ins settings.py file. 6. Modify url.py in […]




Flask globals – request context – application context – session

I have come to Flask from Django and in this post I am writing down my thoughts as I get more comfortable with Flask globals. Request and Application Context from flask import request, current_app, g request context In that simple line, we have imported three global objects. One is the request object and other two […]




Python Poetry – dependency manager plus packaging tool

I was hearing about this awesome new kid on the block called Poetry. I had taken a look on it in the past (approx two years ago) and it looked not as finished as pipenv, so had stuck with pipenv + setup.py. But over the weekend, I decided to take another look at it after […]




Secret Key generation for Django and Flask

Both Django and Flask rely on SECRET_KEY to generate things like session IDs, cookies etc. Here is a safe way to generate them. Note that this relies on the secrets module introduced in Python 3.6 and onwards. From the Python docs: The secrets module is used for generating cryptographically strong random numbers suitable for managing […]




Git Stash — way to safely split your commits

  • April 24, 2020
  • Git

A junior dev in my team was regularly committing 15 to 20+ files in one go, with useless messages like “added files”, “changed files” or even better “change 1” etc. Figured out that the reason was, “how to commit until everything is working”. Turns out, he was treating Git as SVN or IBM-clearcase. If you […]