A "Best of the Best Practices" (BOBP) guide to developing in Python.
- "Build tools for others that you want to be built for you." - Kenneth Reitz
- "Simplicity is alway better than functionality." - Pieter Hintjens
| web: gunicorn -w4 -b0.0.0.0:$PORT app:app |
| application: <app-engine-id> | |
| version: 1 | |
| runtime: python27 | |
| threadsafe: yes | |
| api_version: 1 | |
| handlers: | |
| - url: / | |
| static_files: _build/html/index.html | |
| upload: _build/html/index.html |
| from django.forms import ModelForm | |
| from django.forms.models import inlineformset_factory | |
| from models import Sponsor, Sponsorship | |
| class SponsorForm(ModelForm): | |
| class Meta: | |
| model = Sponsor |
| export PIP_DOWNLOAD_CACHE=/var/lib/jenkins/pip-cache | |
| export AQUIPAGO_ENVIRONMENT=testing | |
| make | |
| env/bin/pip install -r requirements/base.txt --download-cache=/var/lib/jenkins/pip-cache --use-mirrors --timeout 1 | |
| env/bin/pip install -r requirements/project.txt --download-cache=/var/lib/jenkins/pip-cache --use-mirrors --timeout 1 | |
| env/bin/python runtests.py || : | |
| env/bin/pylint --rcfile=.pylintrc aquipago --ignore=test > reports/pylint.txt || : |
| #!/usr/bin/env python | |
| import os | |
| import zipfile | |
| """ | |
| Helper class that lets one add whole directory contents. | |
| License | |
| -------------------- |
| # Add this configuration to your Django settings.py file | |
| LOGGING = { | |
| 'version': 1, | |
| 'disable_existing_loggers': False, | |
| 'formatters': { | |
| 'verbose': { | |
| 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s', | |
| 'datefmt': "%d/%b/%Y %H:%M:%S", | |
| }, |
| var sum = 0; | |
| // use querySelector to find all second table cells | |
| var cells = document.querySelectorAll("td:nth-of-type(2)"); | |
| for (var i = 0; i < cells.length; i++){ | |
| sum+=parseFloat(cells[i].firstChild.data); | |
| } |
| <!-- DIV --> | |
| {% if form.errors %} | |
| <div class="alert alert-danger alert-dismissible" role="alert"> | |
| <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> | |
| {% for field in form %} | |
| {% if field.errors %} | |
| <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> | |
| <span>{{ field.label }}: {{ field.errors|striptags }}</span><br> | |
| {% endif %} | |
| {% endfor %} |
| ============== | |
| git commands | |
| ============== | |
| To rename branch | |
| ================= | |
| git branch -m old_branch new_branch # Rename branch locally | |
| git push origin :old_branch # Delete the old branch | |
| git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote |