Hosting Django on Google App Engine with djangae for FREE

  • Posted on: 29 May 2017
  • By: oon
Django Free Hosting on Google App Engine

note: this post based on my experience hosting Django on Google App Engine. FREE on this article means I didn't have any billing every month, it's only personal site with not-too-much load or traffic. BUT, I set this with "activated billing setting" on my Google Cloud account, still have no time to try without activate billing.

This article written in Bahasa Indonesia.

How to Change Queryset on Django Formset

  • Posted on: 30 April 2017
  • By: oon
Django Formset is collection of Form

Saya sudah sering menggunakan Django Form, tapi kali ini mau mencoba menggunakan Django Formset [1].

A formset is a layer of abstraction to work with multiple forms on the same page.

Satu hal yang sudah terbayang adalah formset merupakan kumpulan dari sejumlah form.

Selanjutnya, saya terbiasa menggunakan modelform_factory untuk secara otomatis membuat Form dari Model, sehingga tidak perlu lagi repot secara manual mendeklarasikan form.

How to Loop Python Dictionary that Comply Python 2 and Python 3

  • Posted on: 14 April 2017
  • By: oon
Python 2 and Python 3 Loop Dictionary

Sudah menjelang Python versi 2 dihentikan dukungannya, mulai membuat kode Python 2 yang juga comply ke Python 3, salah satunya yang berbeda adalah pemrosesan dictionary.

Berikut adalah kode memproses loop dari dictitonary yang bisa digunakan di Python 2 maupun Python 3.

# your_map is your dictionary variable
for k, v in your_map.items():
    print('{}: {}'.format(k, v))

sudah dicoba di Python 2.7 dan Python 3.6.

Btw, di [1] dibahas mengenai sejumlah hal yang berubah dari Python 2 ke Python 3.


Django Rilis Terakhir untuk Python Versi 2

  • Posted on: 4 April 2017
  • By: oon
Django 1.11 is the last to support Python 2

Django 1.11 LTS rilis di bulan April 2017 merupakan seri Django terakhir yang mendukung Python versi 2.x, selanjutnya Django hanya akan dibuat untuk mendukung Python versi 3.x.

Tapi tidak perlu kuatir, soalnya versi LTS ini setidaknya didukung sampai 3 tahun untuk versi update keamanannya.

Cukup banyak update dari versi ini, lengkapnya bisa dilihat di tautan [1].

Django versi LTS sebelumnya yaitu 1.8, dirilis bulan April 2015 (2 tahun sebelumnya), dan akan berakhir dukungan pembaruan keamanannya April 2018, 3 tahun setelah rilis.


google-api-python-client HttpRequest execute() exponential backoff

  • Posted on: 22 December 2016
  • By: oon

Google API python client already implement automatic retry with exponential backoff [1],

if you sometime hit API error because of rate limit or the API server overload because of too many connections.

add num_retries parameter on execute()


Django Project Not Detected on IntelliJ IDEA? Make Sure PYTHON_MODULE on iml File

  • Posted on: 17 November 2016
  • By: oon
Intellij IDEA for Django (Python) Development

You have import you Django Project into IntelliJ IDEA, but not detected as Django (facet)?

Even you have installed Python plugin on your IntelliJ IDEA.

Try to find your iml file (IntelliJ project/module configuration file), and make your your XML module type is PYTHON_MODULE.

If for example its detected as JAVA_MODULE or WEB_MODULE, just overwrite it as PYTHON_MODULE, and restart your IntelliJ IDEA.


Django File Upload but request.FILES empty?

  • Posted on: 25 September 2016
  • By: oon
Django File Upload

This is simple but annoying error, when you setting up Django form with File Upload, after you successfully upload the file, but when you check the request.FILES was empty.

What happened?

One of the answer is you probably forget to set encoding type of your form

<form action="" method="post" enctype="multipart/form-data">{% csrf_token %}
{{ form.as_p }}
<button type="submit">{% trans 'Submit' %}</button>

source [1]