View dan URL
Arahkan permintaan ke view
View dan URL adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.
Apa Itu Tampilan?
Tampilan Django adalah fungsi (atau kelas) yang menerima permintaan web dan mengembalikan respons web. Tampilan memuat logika halaman Anda dan berada di views.py milik aplikasi.
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello, world!')
print('A view takes request, returns response')Argumen request
Setiap tampilan menerima objek request yang menyimpan detail tentang permintaan masuk: metode, data GET/POST, pengguna, dan banyak lagi.
from django.http import HttpResponse
def info(request):
return HttpResponse('Method: ' + request.method)
print('request carries the incoming data')Pola URL
urls.py milik aplikasi memetakan jalur URL ke tampilan menggunakan daftar bernama urlpatterns dan fungsi path().
# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
]
print('path maps a URL to a view')Memberi Nama URL
Berikan name pada suatu pola agar Anda dapat merujuknya di tempat lain tanpa menuliskan jalurnya secara langsung.
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
print("name='home' lets you reference it later")Parameter URL
Ambil bagian URL dengan konverter seperti <int:post_id>. Nilai yang diambil akan diteruskan ke tampilan.
from django.urls import path
from . import views
urlpatterns = [
path('post/<int:post_id>/', views.detail, name='detail'),
]
print('post/5/ -> detail(request, post_id=5)')Membaca Parameter
Nilai yang diambil tiba sebagai argumen kata kunci yang sesuai dengan nama konverter.
from django.http import HttpResponse
def detail(request, post_id):
return HttpResponse('Post ' + str(post_id))
print('View receives post_id')Menyertakan URL Aplikasi
urls.py utama proyek mengambil URL setiap aplikasi dengan include(), sehingga perutean tetap modular.
# mysite/urls.py
from django.urls import path, include
urlpatterns = [
path('blog/', include('blog.urls')),
]
print('include() wires up app urls')Merender Templat
Pintasan render() menggabungkan templat dengan kamus konteks dan mengembalikan HttpResponse.
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {'name': 'Alice'})
print('render combines template + context')Fungsi Bantuan 404
get_object_or_404() mengambil suatu objek atau memunculkan 404 jika objek tersebut tidak ada; ini merupakan pola yang umum dan aman.
from django.shortcuts import get_object_or_404, render
from .models import Post
def detail(request, post_id):
post = get_object_or_404(Post, id=post_id)
return render(request, 'detail.html', {'post': post})
print('get_object_or_404 handles missing data')Membangun URL dari Nama Pola
Dalam Python, reverse('detail', args=[5]) membuat URL dari nama pola. Dalam templat, tag {% url %} melakukan hal yang sama.
from django.urls import reverse
# reverse('detail', args=[5]) -> '/blog/post/5/'
# In a template: {% url 'detail' post.id %}
print('reverse builds URLs from names')Tampilan Berbasis Kelas
Django juga menyediakan tampilan berbasis kelas seperti ListView dan DetailView yang menangani pola umum dengan lebih sedikit kode.
from django.views.generic import ListView
from .models import Post
class PostList(ListView):
model = Post
print('ListView lists objects automatically')Pemeriksaan Singkat
Uji pengetahuan Anda tentang tampilan dan URL.
Ringkasan
Anda telah mengarahkan permintaan ke tampilan.
- Tampilan menerima
requestdan mengembalikan respons urlpatterns+path()memetakan URL ke tampilan, secara opsional denganname- Konverter seperti
<int:id>mengambil bagian URL include()menghubungkan URL aplikasi;render()danget_object_or_404()adalah pintasan yang berguna
Pertanyaan yang Sering Diajukan
Apakah pelajaran “View dan URL” gratis?
Ya — teks lengkap “View dan URL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “View dan URL”?
Arahkan permintaan ke view Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “View dan URL” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Proyek dan Aplikasi
- Model dan Migrasi
- View dan URL
- Admin Django