Skip to content

Instantly share code, notes, and snippets.


Marcelo Leiva marceloleiva

View GitHub Profile
View gist:8516a8f6ea6abc67dea7ae7a3a5c1391
# If you use the Odoo Database utility to change the master password be aware
# that the formatting of this file WILL be LOST! A copy of this file named
# /etc/odoo/openerp-server.conf.template has been made in case this happens
# Note that the copy does not have any first boot changes
# Odoo Server Config File - TurnKey Linux
marceloleiva / .env-example
Created Apr 3, 2020 — forked from gjbagrowski/.env-example
Django-environ example
View .env-example
# project-repo/app/settings/.env-example
DEBUG=true # never on production, will cause settings including api keys to leak
marceloleiva /
Created Jul 7, 2019 — forked from eerien/
Comma Separated Values Form Field for Django. There are CommaSeparatedCharField, CommaSeparatedIntegerField.
from django import forms
from django.core import validators
from django.core.exceptions import ValidationError
class MinLengthValidator(validators.MinLengthValidator):
message = 'Ensure this value has at least %(limit_value)d elements (it has %(show_value)d).'
class MaxLengthValidator(validators.MaxLengthValidator):
message = 'Ensure this value has at most %(limit_value)d elements (it has %(show_value)d).'
marceloleiva /
Created Jul 21, 2018 — forked from rturowicz/
django - intermediate admin page
# admin action definition
def make_copy(self, request, queryset):
form = None
if 'apply' in request.POST:
form = CopyPageForm(request.POST)
if form.is_valid():
issue = form.cleaned_data['issue']
marceloleiva /
Created Apr 3, 2018 — forked from perrygeo/
Generate UML diagram of django app models
apt-get install python-pygraphviz
pip install django-extensions
# add 'django_extensions' to INSTALLED_APPS in
python graph_models trees -o test.png
marceloleiva /
Created Jun 6, 2017 — forked from cecilemuller/
How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

There are two main modes to run the Let's Encrypt client (called Certbot):

  • Standalone: replaces the webserver to respond to ACME challenges
  • Webroot: needs your webserver to serve challenges from a known folder.

Webroot is better because it doesn't need to replace Nginx (to bind to port 80).

In the following, we're setting up HTML is served from /var/www/mydomain, and challenges are served from /var/www/letsencrypt.

marceloleiva /
Created Apr 27, 2017 — forked from MrYoda/
Python 3, Django 1.9+: Excel file creation and send on-the-fly with XlsxWriter & BytesIO
import xlsxwriter
from io import BytesIO
from django.http import StreamingHttpResponse
from django.views.generic import View
def get_foo_table_data():
Some table data
marceloleiva / Buscar texto con
Created Oct 17, 2016
Buscar texto con re created by marceloleiva -
View Buscar texto con
import re
texto = 'Supermercado (1,10,5)'
busqueda_coordenada ='(.+)(\(.{5,}\))', texto)
if busqueda_coordenada:
if len(busqueda_coordenada.groups()) >= 2:
texto =
coordenada = re.sub('[()]', '',',')
import chardet
def determinar_encoding(input_file='despachos.csv'):
file = open(input_file, 'rb').read()
encoding = chardet.detect(file)
if encoding:
return encoding['encoding']
return None
pip install django-reversion

Add reversion to INSTALLED_APPS