Pada artikel ini saya akan membuat program Django yang mempunyai fitur url otomatis sesuai dengan judul dan bagus untuk seo (Search Engine Optimization). Dimana ini akan sangatlah penting bagi website yang digunakan untuk mengingat alamat dengan judulnya.
Kita hanya perlu modul slugify yang sudah ada dalam Django framework, kita tinggal mengimport modulnya untuk dipakai. Dengan demikian kita tidak perlu repot menyeting url sendiri karena sudah diatur otomatis sesuai judul artikel yang dibuat.
Contohnya saya membuat artikel yang berjudul Slugify URL Pada Django maka urlnya akan otomatis menjadi www.yusufabdulloh.my.id/slugify-url-pada-django. Asik bukan, dengan menyimpan artikel dengan judul itu maka akan otomatis membuat urlnya cantik dan cukup bagus untuk keperluan seo bukan. Sebelum itu kita harus mengetahui apa itu url yang akan kita buat.
Pengertian URL
URL (Uniform Resource Locator) adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di Internet. URL menunjukkan sumber daya Internet atau alamat sebuah halaman web (homepage) yaitu halaman suatu dokumen atau program yang ingin ditampilkan atau digunakan.Secara umum perlu memasukkan tiga informasi untuk menuju ke alamat tertentu, yaitu Protokol, Alamat Server dan Path File.sumber Wikipedia
Bahan Yang Digunakan Pada Project Ini
1.Python3.8
2.Django3.1
3.Text Editor(Pycharm atau Notepad++ atau Sublime atau Vim atau yang lainya)
4.command prompt/console
Sebelum itu pastikan bahwa django sudah terinstall pada perangkat yang digunakan menggunakan perintah pip list pada command prompt atau console. Bila sudah ada Django maka kita sudah siap membuat project Django.
Pembuatan Project Django
Pertama mari kita buat project di django. Buka console kita lalu ketik perintah ini
$ mkdir django_slugify && cd django_slugify
$ pipenv install django
$ pipenv shell
$ django-admin startproject config .
$ python manage.py startapp posts
Rubahlah file models.py pada file posts jadi seperti ini
from django.db import models
from django.utils.text import slugify
class Post(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Post, self).save(*args, **kwargs)
def __str__(self):
return self.title
Kemudian mari kita rubah pengaturan pada file setting.py pada folder django_slugify untuk menambahkan applikasi posts.
INSTALLED_APPS = [
...
'posts.apps.PostsConfig',
]
Untuk melakukan perubahan pada database mari kita jalankan 2 perintah dibawah ini
$ python manage.py makemigrations
$ python manage.py migrate
kemudian tambahkan url pada urls.py file pada folder django_slugify dengan kode dibawah ini agar bisa diakses oleh siapapun.
from posts import views
urlpatterns = [
path('<slug:slug>/', views.DetailView.as_view(), name='post_detail'),
]
untuk mengeceknya mari kita buat 1 entry pada database dengan menggunakan perintah ini
$ python manage.py shell
from posts.models import Post
post = Post.objects.create(title='Slugify Url pada Django')
post.slug
Bila berhasil maka akan tampil halaman sesuai dengan isi dari file views.py pada folder posts. Dimana isi file views.py seperti ini.
from django.views import generic
from .models import Post
class DetailView(generic.DetailView):
model = Post
template_name= 'details.html'
Jalankanlah applikasimu dengan perintah "python manage.py runserver
", bila berhasil maka kita akan diarahkan ke template detail.html ketika mengakses url localhost:8000/slugify-url-pada-django. Jika tidak berhasil maka akan ada error.
Untuk melihat Daftar Isi Pemrograman Python
Mantap sekali penjelasannya, sangat mudah dipahami
BalasHapusmakasih om
HapusMantap, sangat mudah dipahami.
BalasHapussip
BalasHapusMembuat url sesuai judul memang bagus. Bagus juga untuk SEO.
BalasHapusMemang harusnya seperti itu yah.
HapusMasyaAllah membantu banget buat saya
BalasHapusPenjelasan dan step by step nya mudah diapahami & diikuti :) terima kasih
BalasHapusterimakasih kembali 😀
HapusWiiih keren banged nih, udah lam gak ngotak ngatik Django hehehee
BalasHapus