Senin, 03 September 2018

Cara Instal Framework Django di Ubuntu 18.04

Tags



Django adalah framework Python berfitur lengkap untuk pengembangan web dan aplikasi yang dinamis. Penggunaan Django akan membantu kalian sehingga bisa dengan cepat membuat aplikasi web menggunakan bahasa python.

Dalam posting ini, kita akan belajar bersama bagaimana cara menginstal framework Django di komputer berbasis Ubuntu 18.04.

Sebenarnya ada berbagai cara untuk menginstal Django, tergantung pada kebutuhan dan bagaimana kalian ingin mengkonfigurasi lingkungan pengembangan pythonnya. Masing-masing metode memiliki kelebihan yang berbeda dan satu metode bisa jadi lebih baik untuk situasi spesifik kalian daripada yang lain.

Beberapa metode tersebut adalah:

Pemasangan global dari paket: Repositori Ubuntu resmi berisi paket Django yang dapat diinstal dengan pengelola paket apt. Cara ini adalah yang paling sederhana, tetapi tidak sefleksibel beberapa metode berikutnya. Juga kemungkinan versi yang terdapat dalam repositori mungkin versi lama dari pada versi resmi.

Instal dengan pip dalam lingkungan virtual: Kalian dapat membuat lingkungan virtual menggunakan tool seperti venv dan virtualenv. Lingkungan virtual memungkinkan kalian menginstal Django di direktori tertentu bersama dengan kustomisasi dan paket per proyek lainnya tanpa mempengaruhi sistem komputer kalian. Pendekatan ini biasanya merupakan yang paling praktis dan direkomendasikan untuk bekerja dengan Django.

Instal versi pengembangan dengan git: Jika kalian ingin menginstal versi pengembangan terbaru daripada rilis stabil, dapat memperoleh kode dari repo Git. Versi pengembangan tidak memiliki jaminan stabilitas yang sama dengan versi  rilis stabil.

1. Pemasangan Global dari Paket

Jika kalian ingin menginstal Django menggunakan repositori Ubuntu, prosesnya sangat mudah.

Pertama, perbarui indeks paket lokal dengan apt:

$ sudo apt update

Selanjutnya, periksa versi Python mana yang telah diinstal. Ubuntu 18.04 sudah terpasang Python 3.6 secara default, yang dapat diverifikasi dengan mengetik:

$ python3 -V

Output harusnya seperti ini:

Output
Python 3.6.5

Selanjutnya, instal Django:

$ sudo apt install python3-django

Kalian dapat menguji suksesnya penginstalan dengan cara ketik:

$ django-admin --version

Output
1.11.11

Sampai poin ini framewrok Django telah berhasil diinstal. Perhatikan bahwa versi Django bukan versi stabil terbaru.

2. Instal dengan pip di Lingkungan Virtual

Cara paling fleksibel untuk menginstal Django pada sistem komputer Ubuntu kalian adalah menggunakan lingkungan virtual. Disini saya menginstal Django di lingkungan virtual menggunakan modul venv, bagian dari library standar Python 3. Tool ini memungkinkan kalian untuk membuat lingkungan virtual Python dan menginstal paket Python tanpa mempengaruhi bagian lain dari sistem. Sehingga kalian dapat memilih paket Python berdasarkan kebutuhan per proyek.

Refresh indeks paket lokal:

$ sudo apt update

Periksa versi Python yang Anda pasang:

$ python3 -V

Output
Python 3.6.5

Selanjutnya instal pip dari repositori Ubuntu:

$ sudo apt install python3-pip

Setelah pip diinstal, kalian dapat menggunakannya untuk menginstal paket venv:

$ sudo apt install python3-venv

Sekarang setiap kali kita memulai proyek baru dapat membuat satu atau beberapa lingkungan virtual. Coba mulai dengan membuat dan pindah ke direktori proyek baru:

$ mkdir ~/newproject
$ cd ~/newproject

Selanjutnya, buat lingkungan virtual dalam direktori proyek menggunakan perintah python yang kompatibel dengan versi Python kalian. Sebagai contoh saya memberi nama lingkungan virtualnya sebagai "my_env":

$ python3.6 -m venv my_env

Perintah di atas akan menginstal versi standalone Python dan pip ke dalam struktur direktori yang terisolasi di dalam direktori proyek kalian.

Setelah menginstal paket ke dalam lingkungan yang terisolasi, kalian harus mengaktifkannya dengan mengetik:

$ source my_env/bin/activate

Awalan di terminal kalian harusnya berubah untuk mencerminkan bahwa sekarang berada di lingkungan virtual. Hal ini akan terlihat seperti "(my_env) username@hostname: ~ / $ proyek baru".

Di lingkungan baru ini, kalian dapat menggunakan pip untuk menginstal Django. Tergantung dari versi Python kalian, pip hanya boleh disebut pip ketika berada di lingkungan virtual ini. Perhatikan juga, disini tidak perlu menggunakan sudo karena kalian hanya menginstal secara lokal:

(my_env) $ pip install django

Verifikasi instalasi dengan mengetik:

(my_env) $ django-admin --version

Output
2.1

Perhatikan bahwa versi yang ada di kalian mungkin berbeda dari versi yang ditampilkan di sini.

Untuk meninggalkan lingkungan virtual, jalankan perintah "deactivate" dari mana saja di sistem:

(my_env) $ deactivate

Terminal kalian harusnya kembali ke tampilan konvensional. Ketika ingin mengerjakan proyek lagi, aktifkan kembali lingkungan virtual dengan cara kembali ke direktori proyek dan aktifkan:

$ cd ~/newproject
$ source my_env/bin/activate

3. Versi Pengembangan Instal dengan Git

Jika memerlukan versi pengembangan Django, kalian dapat mengunduh dan menginstal Django dari repositori Git-nya. Mari kita coba lakukan ini dari dalam lingkungan virtual.

Pertama, perbarui indeks paket lokal:

$ sudo apt update

Periksa versi Python yang dipasang:

$ python3 -V

Output
Python 3.6.5

Selanjutnya, instal pip dari repositori resmi:

$ sudo apt install python3-pip

Instal paket venv untuk membuat lingkungan virtual:

$ sudo apt install python3-venv

Langkah selanjutnya adalah mengkloning repositori Django. Diantara rilis Django, repositori ini memang memiliki lebih banyak fitur terkini dan perbaikan bug akan tetapi perhatikan juga bahwa faktor stabilitas yang mungkin belum stabil. Kalian dapat mengkloning repositori ke direktori bernama ~ / django-dev dalam direktori home kalian dengan mengetik:

$ git clone git://github.com/django/django ~/django-dev

Ubah ke direktori ini:

$ cd ~/django-dev

Buat lingkungan virtual menggunakan perintah python yang kompatibel dengan versi Python yang diinstal:

$ python3.6 -m venv my_env

Aktifkan:

$ source my_env/bin/activate

Selanjutnya instal repositori menggunakan pip. Adanya opsi -e akan membuat pemasangan akan dalam mode "editable":

(my_env) $ pip install -e ~/django-dev

Kalian dapat memverifikasi bahwa pemasangan berhasil dengan mengetik:

$ django-admin --version

Output
2.2.dev20180802155335

Sekali lagi, versi yang kalian lihat mungkin tidak sesuai dengan yang ditampilkan di sini.

Sekarang kalian memiliki versi terbaru Django di lingkungan virtual.

4. Membuat Sampel Proyek

Dengan menginstal Django, kalian dapat memulai membangun proyek python. Saya akan coba membahas cara membuat proyek dan mengujinya di lokal komputer menggunakan lingkungan virtual.

Pertama, buat direktori untuk proyek kalian dan pindah ke dalamnya:

$ mkdir ~/django-test
$ cd ~/django-test

Selanjutnya, secara berurutan jalankan perintah di bawah:

$ python3.6 -m venv my_env
$ source my_env/bin/activate
(my_env) $ pip install django

Untuk membangun proyek, kalian dapat menggunakan django-admin dengan perintah startproject. Disini saya akan membuat proyek bernama "djangoproject". Startproject akan membuat direktori dalam direktori kerja saat ini yang meliputi:

  • Skrip manajemen, manage.py, yang dapat digunakan untuk mengelola berbagai tugas khusus Django.
  • Sebuah direktori (dengan nama yang sama dengan proyek) yang menyertakan kode proyek yang sebenarnya.

Untuk menghindari terlalu banyak nested (bertingkat) direktori,  perintahkan Django untuk menempatkan skrip manajemen dan "direktori dalam" di dalam direktori saat ini (perhatikan titik akhir):

(my_env) $ django-admin startproject djangoproject .

Untuk memigrasi database (contoh ini menggunakan SQLite secara default), mari gunakan perintah migrasi dengan manage.py. Migrasi menerapkan perubahan apa pun yang dibuat ke model Django menuju ke skema basis data.

Untuk memigrasikan database, ketik:

(my_env) $ python manage.py migrate

Anda akan melihat output seperti berikut:

Output
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

Akhirnya, mari kita buat pengguna administratif sehingga dapat menggunakan antarmuka admin Django. Lakukan ini dengan perintah createsuperuser:

(my_env) $ python manage.py createsuperuser

Disini kalian akan dimintai nama pengguna, alamat email, dan kata sandi untuk pengguna.

Note:
Untuk server Ubuntu:

Ada sedikit tambahan yaitu memodifikasi ALLOWED_HOSTS di Pengaturan Django. Agar berhasil menguji aplikasinya, kalian perlu memodifikasi salah satu "directive" dalam pengaturan Django.

Buka file pengaturan dan ketik:

(my_env) $ nano ~/django-test/djangoproject/settings.py

Di dalam, temukan direktif ALLOWED_HOSTS. Langkah ini akan mendefinisikan whitelist alamat atau nama domain yang dapat digunakan untuk terhubung ke instance Django. Permintaan masuk dengan header Host yang tidak ada dalam daftar ini akan mengakibatkan exception. Django mengharuskan kalian mengatur ini untuk mencegah "class of security vulnerability" tertentu.

Dalam tanda bracket, cantumkan alamat IP atau nama domain yang terkait dengan server Django kalian. Setiap item harus tercantum dalam tanda kutip, dengan entri terpisah dipisahkan oleh koma. Jika kalian menginginkan permintaan untuk seluruh domain dan subdomain apa pun, tambahkan periode ke awal entri:

~/django-test/djangoproject/settings.py

. . .
ALLOWED_HOSTS = ['server_ip_atau_domain', 'alamat_ip_kedua_atau_domain', . . .]

Setelah selesai, simpan file dan keluar dari editor.

5. Menguji Server Development.

Setelah membuat nama pengguna, kalian dapat memulai server pengembangan Django untuk melihat seperti apa proyek Django tersebut. Kalian hanya harus menggunakan ini untuk tujuan pengembangan. Jika siap untuk men-deploy, pastikan untuk mengikuti pedoman Django tentang deployment dengan hati-hati.

Sebelum mencoba server pengembangan, pastikan sudah membuka port yang sesuai di firewall kalian. Jika mengikuti panduan pengaturan server awal dan menggunakan UFW, kalian dapat membuka port 8000 dengan mengetik:

(my_env) $ sudo ufw allow 8000

Memulai server pengembangan:

(my_env) $ python manage.py runserver your_server_ip:8000

Kunjungi alamat IP server diikuti oleh: 8000 di browser web:

http://nama_server_ip:8000

Kalo dijalankan di lokal:

http://localhost:8000

Kalian harusnya melihat sesuatu yang terlihat seperti ini:



Untuk mengakses antarmuka admin, tambahkan / admin / ke bagian akhir URL kalian:

http://server_ip:8000/admin/

Kalo dijalankan di lokal:

http://localhost:8000/admin/

Maka seharusnya akan keluar tampilan seperti ini:



Jika kalian sudah memasukkan nama pengguna dan kata sandi admin yang baru saja dibuat, kalian akan memiliki akses ke bagian admin utama situs:



Jika sudah selesai, bisa hentikan server pengembangan dengan menekan CTRL-C di terminal.

Proyek Django yang kalian buat akanmemberikan dasar struktural untuk merancang situs yang lebih lengkap. Lihat dokumentasi Django untuk informasi lebih lanjut tentang bagaimana membangun aplikasi web menggunakan framework Django.

Sampai tahap ini kalian sudah selesai memasang framework Django di komputer Ubuntu 18.04. Dengan memanfaatkan framework python seperti Django akan dapat membantu membuat pengembangan web aplikasi lebih cepat, memungkinkan kalian untuk berkonsentrasi hanya pada aspek unik dari aplikasi saja.


EmoticonEmoticon