Python: Membuat Website dengan Wagtail

Working site with Wagtail demo project.
Halaman Download Python.org
Pertama kita akan ulangi beberapa langkah dari tutorial mencoba Wagtail minggu lalu, yaitu install Python interpreter dan jangan lupa centang PATH saat instalasinya, agar kita dapat bekerja langsung dari CMD. Wagtail yang akan kita pakai versi 2.0 dan sudah tidak mendukung Python versi 2.7 sebaiknya kalian install Python versi 3. Lalu install dengan pip lewat CMD beberapa dependensi untuk membuat virtual environment (semacam home khusus buat suatu project) dengan:


pip install virtualenv

pip install virtualenvwrapper

pip install virtualenvwrapper-win #untuk windows

mkvirtualenv wagtailbakerydemo

Repository Wagtail demo project untuk Download bahan tutorial ini.
Kedua dowload Wagtail demo dari github dan extract ke (D:\Project_name) atau working environment pilihan kalian atau jika sudah install git dengan perintah:

git clone git@github.com:wagtail/bakerydemo.git

Buatlah .env file jika tidak ada di folder (hasil extract repository) kalian.

Ketiga masuk dan ubah isi file dengan nama
.env
seperti gambar di atas (menjadi tanpa petik).

Copy paste file local.py.example di folder yang sama.

Keempat rename/copas file local.py.example menjadi local.py.

Pindah ke direktori project dengan CMD.
Jalankan perintah berikut:

pip install -r requirements.txt

Kalian akan menemukan beberapa gagal install, tapi dapat dilewati jika terjadi pada uwsgi saja.

manage.py migrate

Boleh diawali dengan makemigrations jika gagal saat pertama mengubah file dan melakukannya kembali setelah menjalankan perintah migrate.

manage.py load_initial_data 

Mengunggah database ke aplikasi.

manage.py runserver 

Setelah itu kalian pasti bertanya kenapa saat intalasi uwsgi mengalami gagal install, nah sebenarnya uname yang diperlukan hanya ada pada unix-like Operating System, jadi untuk tutorial ini bisa dilewati saja. Toh, bukan untuk dipublikasikan ke jaringan juga.

line 8, in 
        uwsgi_os = os.uname()[0]
AttributeError: module 'os' has no attribute 'uname'

Sedangkan untuk demo contact form memang tidak difungsikan, kalian bisa mengubah file base.py dan production.py dengan mengganti line berikut:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

menjadi

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

bisa dipelajari di sini untuk memfungsikannya.