Git Diff of Current and Previous Version of a File

We will use vim and git wrapper plugin for this. Installation First make sure you installed Tim Pope’s vim-figitive plugin before started. In the repo there is clear instruction but for vim-plug, add below line to your .vimrc and source it: " Plugins will be downloaded under the specified directory. " Change it to direct to yours call plug#begin(’~/.local/share/nvim/plugged’) " Add this Plug ‘tpope/vim-fugitive’ call plug#end() Then run :PlugInstall.
Read more →

How to Upgrade to Python 3.7 on Ubuntu 18.04/18.10

In this article, we upgrade to python 3.7 from python 3.6 and configure it as the default version of python. I was just trying to upgrade my python and I find it a little bit hard to do. Python 3.6 is the default version that comes with Ubuntu 18.04/18.10 But the latest version is Python 3.8. So it would be better to upgrade one major version. So lets start; first run below command to test the current version installed of python.
Read more →

Django - DB bulk_create()

bulk_create() From Django doc: This method inserts the provided list of objects into the database in an efficient manner (generally only 1 query, no matter how many objects there are): So instead of inserting data into db one by one in an inefficient manner it is better to use this method. Method api detail: bulk_create(objs, batch_size=None, ignore_conflicts=False) Example: >>> MyModel.objects.bulk_create([ … MyModel(title=‘This is a test’), … MyModel(title=‘This is only an another test’), .
Read more →

Django UserContextMixin

If you want to get the currently logged-in user and use it—e.g at the top of every template, in class-based view it could be hard to achive. However there is an easy and pythonic/djangoic way to accomplish that: just use a Mixin. Actually Django framework consists of very wide range of Mixins such as SingleObjectMixin or TemplateResponseMixin. For more detail: Django Class-based Mixins. So now we can write our very own Mixin to do the job:
Read more →

Python - Difference Between ‘is’ and ‘==’

In python the is operator compares if two variables point to the same object. The == operator checks the “values” of the variables are equal. #!/usr/bin/env python # -- coding: utf-8 -- a = [1, 2, 3] b = [1, 2, 3] c = a if (a == b): print("True") else: print("False") if (a is b): print("True") else: print("False") if (a == c): print("True") else: print("False") if (a is c): print("True") else: print("False") Or with more “pythonic” and clearer syntax:
Read more →