Menyiapkan Framework Aplikasi Web Python Django Di FreeBSD
Django adalah framework pengembangan web Python tingkat tinggi yang mengikuti pola desain model-view-template (MVT). Dibuat oleh pengembang web berpengalaman, Django mampu menangani kompleksitas yang dihadapi pengembang web, sehingga Anda dapat fokus menulis aplikasi tanpa harus membuat segala sesuatunya dari nol.
Fitur utama yang menjadi andalan Django adalah kesederhanaan, fleksibilitas, keandalan, dan skalabilitas. Tak hanya itu, keunggulan lain Django adalah penyediaan seluruh mekanisme yang diperlukan untuk pemrograman situs web, akses basis data, penerjemahan, template, modul, dan berbagai fitur lainnya.
Django juga secara otomatis menyediakan antarmuka administrasi konten yang mempermudah proses pembuatan, pembaruan, dan penghapusan objek situs web. Keunggulan lainnya adalah kemampuannya mencatat semua tindakan yang dilakukan serta menyediakan antarmuka untuk mengelola pengguna dan grup pengguna.
Seperti yang telah disebutkan sebelumnya, Django menggunakan arsitektur pengembangan web berbasis MVT. Framework MVT ini pada umumnya sangat mirip dengan MVC (Model, View, dan Controller). Dalam hal ini, Django menjalankan fungsi controller tersebut melalui penggunaan template. Secara spesifik, berkas template menggabungkan HTML dengan Django Template Language (DTL). Silakan lihat gambar di bawah ini.
Django tersedia secara gratis dan bersifat open-source, serta memiliki komunitas yang aktif dan terus berkembang yang senantiasa mendokumentasikan setiap diskusi maupun proyek Django terbaru.
Dalam artikel ini, kami akan menjelaskan cara membuat aplikasi web menggunakan Django, sebuah framework Python yang populer. Implementasi aplikasi Django dalam artikel ini menggunakan server FreeBSD 13.2.
1. Panduan Instalasi Python Venv
Karena Django berjalan menggunakan Python, di FreeBSD kita perlu menjalankan Python dengan metode Virtual Environment (venv). Ikuti langkah-langkah berikut untuk membuat Python Venv.
root@ns3:~ # cd /usr/ports/shells/bash root@ns3:/usr/ports/shells/bash # make install clean
root@ns3:/usr/ports/shells/bash # cd /usr/ports/databases/py-sqlite3 root@ns3:/usr/ports/databases/py-sqlite3 # make install clean
root@ns3:/usr/ports/databases/py-sqlite3 # cd /usr/ports/graphics/py-pillow root@ns3:/usr/ports/graphics/py-pillow # make install clean
root@ns3:/usr/ports/graphics/py-pillow # cd /usr/ports/devel/py-pip root@ns3:/usr/ports/devel/py-pip # make install clean
Untuk memudahkan Anda memahami lingkungan kerja virtual Python, kami menyarankan Anda membaca artikel kami sebelumnya, tantang proses instalasi Python PIP.
Untuk mulai membuat situs web menggunakan Django, Anda harus membuat direktori kerja Django. Direktori ini terletak di dalam lingkungan Python Venv dan merupakan tempat penyimpanan semua berkas Python Django. Perintah-perintah di bawah ini akan memandu Anda dalam membuat direktori kerja Django tersebut.
root@ns3:~ # mkdir -p /tmp/Django root@ns3:~ # cd /tmp/Django root@ns3:/tmp/Django # virtualenv DjangoProject root@ns3:/tmp/Django # cd DjangoProject root@ns3:/tmp/Django/DjangoProject #
Sekarang Anda memiliki direktori kerja Django yang terletak di direktori /tmp/Django/DjangoProject. Setelah itu, aktifkan Python Venv di direktori tersebut.
root@ns3:/tmp/Django/DjangoProject # source bin/activate.csh (DjangoProject) root@ns3:/tmp/Django/DjangoProject # pip install --upgrade pip
Pada perintah di atas, skrip berwarna biru menunjukkan bahwa Anda sedang aktif di lingkungan virtual Python.
2. Instal Django
Setelah Anda berhasil membuat lingkungan virtual Python, langkah selanjutnya adalah menginstal Django di dalam lingkungan virtual Python tersebut.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject # pip install 'Django>=4,<5'
Periksa versi Django yang telah anda instal.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject # django-admin --version
4.2.10
Anda telah berhasil menginstal Django 4.2.10. Langkah selanjutnya, kita akan membuat proyek situs web Django dengan nama "FreeBSDWebApp".
(DjangoProject) root@ns3:/tmp/Django/DjangoProject # django-admin startproject FreeBSDWebApp (DjangoProject) root@ns3:/tmp/Django/DjangoProject # cd FreeBSDWebApp (DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp #
Basis data merupakan komponen penting dalam pembuatan situs web. Pada Django di FreeBSD, basis data bawaannya adalah SQLite. Konfigurasikan basis data SQLite tersebut.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # python manage.py migrate 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 auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK
Setelah itu, kita buat pengguna dan kata sandi Django. Agar lebih mudah, mari kita tentukan keduanya: pengguna: freebsddjango kata sandi: router123
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # python manage.py createsuperuser Username (leave blank to use 'root'): freebsddjango Email address: unixwinbsd@gmail.com Password: router123 Password (again): router123 Superuser created successfully. (DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp #
Buka file "/tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDWebApp/settings.py", cari skrip ALLOWED_HOSTS, kemudian anda ganti dengan skrip di bawah ini.
ALLOWED_HOSTS = ['*']
3. Menjalankan Server Django
Setelah Anda selesai melakukan semua konfigurasi, kita bisa langsung menjalankan Django.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # python manage.py runserver 192.168.5.2:3000
192.168.5.2 adalah alamat IP server FreeBSD dan port 3000 adalah port Django. Untuk melihat hasilnya, buka Google Chrome dan ketik "http://192.168.5.2:3000/". Jika tidak ada masalah dengan konfigurasi di atas, Google Chrome akan menampilkan gambar di bawah ini.
Mari kita coba menggunakan nama pengguna dan kata sandi yang telah kita buat sebelumnya. Di Google Chrome, ketikkan "http://192.168.5.2:3000/admin".
4. Membuat Aplikasi Dengan Django
Untuk memperdalam pemahaman Anda tentang situs web Django, kita akan membuat aplikasi uji coba.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # python manage.py startapp FreeBSDDjangoApp
Buka file "/tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDDjangoApp/views.py" dan masukkan skrip di bawah ini ke dalam file tersebut.
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def main(request):
html = '<html>\n' \
'<body>\n' \
'<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
'FreeBSD The Power To Server\n' \
'</div>\n' \
'</body>\n' \
'</html>\n'
return HttpResponse(html)
Buka file "/tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDWebApp/urls.py", lalu ganti skrip di dalam file tersebut dengan skrip di bawah ini.
"""
URL configuration for FreeBSDWebApp project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('FreeBSDDjangoApp/', include('FreeBSDDjangoApp.urls')),
]
Di direktori "/tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDDjangoApp", buatlah file baru bernama "urls.py".
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # touch /tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDDjangoApp/urls.py
Setelah itu, anda ketikkan skrip di bawah ini ke dalam file "/tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDDjangoApp/urls.py".
from django.urls import path
from .views import main
urlpatterns = [
path('', main, name='home')
]
Kemudian lanjutkan dengan mengedit file /tmp/Django/DjangoProject/FreeBSDWebApp/FreeBSDWebApp/settings.py, pada bagian bawah skrip tambahkan skrip FreeBSDDjangoApp.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'FreeBSDDjangoApp',
]
Sekarang kita jalankan server Django.
(DjangoProject) root@ns3:/tmp/Django/DjangoProject/FreeBSDWebApp # python manage.py runserver 192.168.5.2:3000
Buka Google Chrome, lalu ketik "http://192.168.5.2:3000/FreeBSDDjangoApp/". Hasilnya akan tampak seperti gambar di bawah ini.
Meskipun dianggap sebagai situs web modern, proses pembuatan situs web Django tidak semudah yang mungkin Anda bayangkan. Diperlukan banyak konfigurasi skrip untuk menjalankan server Django.
Namun, jangan menyerah, kami akan berusaha membantu Anda melalui artikel Django berikutnya. Jadi, nantikan artikel-artikel terbaru seputar Framework Django dengan Python.
