Senin, 05 Juli 2021

Membuat URL Cantik Di Django


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

10 komentar:

  1. Mantap sekali penjelasannya, sangat mudah dipahami

    BalasHapus
  2. Mantap, sangat mudah dipahami.

    BalasHapus
  3. Membuat url sesuai judul memang bagus. Bagus juga untuk SEO.

    BalasHapus
  4. MasyaAllah membantu banget buat saya

    BalasHapus
  5. Penjelasan dan step by step nya mudah diapahami & diikuti :) terima kasih

    BalasHapus
  6. Wiiih keren banged nih, udah lam gak ngotak ngatik Django hehehee

    BalasHapus