Django adalah web application framework open-source yang membantu Anda mengembangkan situs web dan aplikasi yang dinamis. Django terkenal akan keamanan, kecepatan dan kestabilan yang memungkinkan Anda membuat situs web yang kompleks dengan lebih sedikit pengkodean.

Ada beberapa cara untuk menginstal Django di sistem, Anda dapat menginstalnya menggunakan repositori Debian, Menggunakan PIP atau dari repositori Git. Anda dapat memilih metode apa pun tergantung pada kebutuhan. Django memungkinkan Anda untuk membuat proyek di Python virtual environments. Dengan cara ini Anda dapat membuat beberapa Django environment dalam satu sistem.

Dalam tutorial ini, kita akan belajar cara menginstal Django web framework dengan PIP di Debian 10. Kita juga akan belajar cara membuat aplikasi Django dan menghubungkannya dengan database.

Prasyarat

  • Server dengan sistem operasi Debian 10.
  • Masuk sebagai root atau user dengan hak sudo

Langkah Opsional

Lakukan langkah berikut untuk memeriksa dan juga memastikan server Anda telah up-to-date dan siap untuk instalasi Django

apt-get update && apt-get upgrade -y

Install Django

Django adalah framework berbasis Python, sehingga Anda perlu menginstal Python dan PIP di sistem. Untuk dapat menginstalnya, jalankan perintah berikut:

apt-get install python3 python3-pip tree -y

Setelah menginstal semua paket, Anda dapat memverifikasi versi PIP yang diinstal dengan perintah berikut:

pip3 -V

Anda akan mendapatkan output kurang lebih seperti berikut :

pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

Sekarang Anda dapat install Django dengan perintah PIP seperti yang ditunjukkan di bawah ini:

pip3 install Django

Setelah menginstal Django, periksa versi Django dengan perintah berikut:

django-admin --version

Anda akan melihat versi Django di output berikut:

3.0.2

pada saat penulisan artikel ini, versi Django adalah versi 3.0.2.

Buat Proyek Django

Sekarang mari kita mulai membuat contoh proyek Django. Pertama, ubah direktori ke /opt di mana Anda ingin membuat proyek Django:

cd /opt

Selanjutnya, jalankan perintah berikut untuk membuat proyek Django baru bernama Dproject:

django-admin startproject Dproject

Setelah proyek dibuat, Anda dapat melihat struktur direktori proyek ini dengan perintah berikut:

tree

Anda akan mendapatkan output kurang lebih seperti berikut :

.
??? Dproject
    ??? Dproject
    ?   ??? asgi.py
    ?   ??? __init__.py
    ?   ??? settings.py
    ?   ??? urls.py
    ?   ??? wsgi.py
    ??? manage.py

Selanjutnya, ubah direktori ke Dproject dan migrasikan perubahan yang tertunda dengan perintah berikut:

cd Dproject
 python3 manage.py migrate

Setelah migrasi selesai dengan sukses, Anda akan melihat output berikut:

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 auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

Pada titik ini, proyek Django baru telah dibuat di dalam direktori /opt.

Buat Super User untuk Django

Selanjutnya, Anda perlu membuat akun user admin untuk mengelola proyek Django dengan perintah berikut:

python3 manage.py createsuperuser

Anda akan diminta memberikan nama user, email, dan kata sandi. Anda dapat memberikannya sesuai pilihan Anda seperti yang ditunjukkan di bawah ini:

Username (leave blank to use 'root'): admin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Mulai Aplikasi Django

Secara default, aplikasi Django hanya dapat di akses dari localhost saja, untuk membuat Django terhubung dengan internet, Anda harus mengizinkan Django untuk host eksternal. Anda dapat melakukannya dengan menambahkan IP server Anda di settings.py:

nano /opt/Dproject/Dproject/settings.py

Ubah baris berikut:

ALLOWED_HOSTS = ['your-server-ip']

Simpan dan tutup file. Kemudian, jalankan aplikasi Django dengan perintah berikut:

cd /opt/Django
 python3 manage.py runserver 0.0.0.0:8000

Setelah server restart,  Anda akan melihat output berikut:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:01:23
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Akses Aplikasi Django

Pada poin ini, aplikasi Django sekarang dimulai dan berjalan pada port 8000.  Anda dapat mengakses aplikasi Django dengan mengunjungi URL http://your-server-ip:8000. Anda akan melihat halaman berikut:

Install Django di CentOS 8

Anda juga dapat mengakses admin interface Django menggunakan URL http://server-ip:8000/admin. Anda akan melihat halaman berikut:

Django Administration di CentOS 8

Berikan nama pengguna admin, kata sandi, dan klik tombol Log in. Anda akan melihat halaman berikut:

Django Admin Console

Instal Konektor Database MariaDB

Selanjutnya, Anda perlu menginstal konektor database MariaDB dan paket pengembangan lainnya untuk menghubungkan Django dengan database MariaDB. Anda dapat menginstal semuanya dengan menggunakan perintah berikut:

sudo apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y

Setelah semua paket diinstal, Anda dapat menginstal library mysqlclient menggunakan perintah PIP seperti yang ditunjukkan di bawah ini:

pip3 install mysqlclient

Setelah diinstal, masuk ke shell MariaDB dengan perintah berikut:

mysql

Selanjutnya, atur kata sandi root untuk MariaDB dengan perintah berikut.

 SET PASSWORD FOR 'root'@'localhost' = PASSWORD("g4nt!_d3n94n_P4$$w0rd");

Selanjutnya, buat database untuk Django dengan perintah berikut:

 create database testdb;

Anda dapat melihat database yang dibuat di atas menggunakan perintah berikut:

show databases;

Anda akan mendapatkan output berikut:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+

selanjutnya flush privileges  dan keluar dari shell MariaDB dengan perintah berikut:

flush privileges;
exit;

Konfigurasikan Django untuk Koneksi MariaDB

Selanjutnya, Anda perlu menentukan kredensial database MariaDB di Django. Anda dapat mendefinisikannya dengan mengedit file settings.py:

nano /opt/Dproject/Dproject/settings.py

Temukan baris berikut:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Dan gantilah dengan baris berikut:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
        'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf',
        },
    }
}

Simpan dan tutup file setelah selesai. Kemudian, edit file kredensial klien MariaDB seperti yang ditunjukkan di bawah ini:

nano /etc/mysql/mariadb.conf.d/50-client.cnf

Tentukan kredensial  database MariaDB Anda seperti yang ditunjukkan di bawah ini:

[client]
database = testdb 
user = root   
password = newpassword
default-character-set = utf8

Simpan dan tutup file, kemudian restart MariaDB service untuk mengimplementasikan perubahan:

systemctl restart mariadb

Selanjutnya, ubah direktori ke proyek Django dan migrasikan perubahan baru dengan perintah berikut:

cd /opt/Dproject
 python3 manage.py migrate

Setelah migrasi selesai dengan sukses, Anda dapat melanjutkan ke langkah berikutnya.

Uji Koneksi MariaDB

Pada titik ini, Django dikonfigurasi untuk terhubung ke database MariaDB. Sudah waktunya untuk mengujinya.

Untuk melakukannya, start server Django dengan perintah berikut::

cd /opt/Django
 python3 manage.py runserver 0.0.0.0:8000

Setelah server Django telah berhasil dimulai, Anda akan mendapatkan output berikut:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:30:49
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Anda sekarang dapat mengakses aplikasi Django Anda menggunakan URL http://server-ip:8000. Anda akan melihat aplikasi Django Anda di layar berikut:

Install Django di CentOS 8

Setelah testing, Anda dapat menghentikan server Django jenis apa pun dengan menekan CTRL + C di terminal Anda.

Kesimpulan

Selamat! Anda telah berhasil menginstal Django dan menghubungkannya dengan database MariaDB di server Debian 10. Anda sekarang dapat mulai mengembangkan aplikasi web Anda dan menerapkan migrasi di aplikasi Django Anda.