Menyiapkan Framework Aplikasi Web Python Django Di FreeBSD

Terbit: Perbarui:
Tags


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.

Diagram Python Django
Diagram Project Web Django Di FreeBSD

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.

Memasang dependensi 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.

MEmbuat direktori kerja untuk Python Django
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.

Mengaktifkan Python Venc
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.

Mengaktifkan Python Venc
(DjangoProject) root@ns3:/tmp/Django/DjangoProject # pip install 'Django>=4,<5'

Periksa versi Django yang telah anda instal.

Mengaktifkan Python Venc
(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".

Membuat proyek Django "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.

Membuat proyek Django "FreeBSDWebApp"
(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.

Jalankan server 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.

test Web Django
Test Awal Web Django Di FreeBSD

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".

password Web Django
Ketikkan Username dan Password Web Django anda.

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.

Test Web Python Django
Test Project Web Django dengan Google Chrome

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.