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:
Anda juga dapat mengakses admin interface Django menggunakan URL http://server-ip:8000/admin. Anda akan melihat halaman berikut:
Berikan nama pengguna admin, kata sandi, dan klik tombol Log in. Anda akan melihat halaman berikut:
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:
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.