Grant access to endpoints using Django Rest Framework

It’s very common in web applications that we have to develop modules that must be accessible only for certain users. This permission’s management can be as simple as letting the correct user access their profile, or more complex like creating a back office that the administrators of the platform will use to view, add, change or delete data.

In this article we will go through some tips and tricks we can use to master the art of limiting the access to our application’s resources.

There are some ideas that I will skip…

Get flexibility without having several image fields

Very often in projects, especially in ecommerces, the client wants to link an image to a product. Way too much time has passed by for me to learn that most of the time the requirement changes in the middle of the project: the client has to be able to upload more than one image to a merchandise. And not only that, the amount of images is variable depending on the product.

Sometimes the first reaction is to panic, but I’ve come to a solution that is pretty flexible and easy to implement. …

Use different platforms according to your needs

As we have learned in my previous post, there are a lot of benefits in concentrating all the code related with sending emails in one place, creating a base mailer which handles the creation and delivery of messages, and subclassing it to manage some configurations that vary from email to email. We also learned a way to pass domain data to the email service to fill the email content with it.

In this article we will use what we achieved before to create a more complex email module, having different mailers and services…

Easily modifying the content and changing email delivery platforms

When creating a web application, it is frequently requested to send emails: no matter if it has to be done when users sign up in our platform, or if they forget their password, or if a payment confirmation has to be sent after a purchase. The email requirement is actually very important and it can be messy if we don’t structure an email service from the beginning.

This post aims not only to help you define a flexible email service from scratch that allows you to change the email delivery platform easily, but also to be supple in terms of…

Understanding v-model by binding an object

This post is about creating complex custom components that can be really helpful when developing the frontend of an application with Vue.js.

There are some main concepts about Vue.js that I will skip to keep it short, but I will leave some links with resources throughout the article.


The v-model directive creates a two-way data binding on basic html components like form inputs, textareas, selects, etc. Vue.js manages this data update by setting specific properties and emitting specific events as seen here.

This behaviour can be achieved on our own components bearing in mind the properties and events.


Juli Colombo

Developer. Makeup artist. Vegan.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store