Anda di halaman 1dari 5

Nama : Rahmat Rifai Arsandi

NPM : 202102015

PRAKTIKUM 4
PENGEMBANGAN APLIKASI WEB LANJUT

 MEMBUAT MODEL MANAGER


1. Tambahkan baris kode dibawah ini atau seperti gambar dibawah ini kedalam
blog/models.py
class PublishedManager(models.Manager):
def get_queryset(self):
return super(PublishedManager,
self).get_queryset()\
.filter(status='published')

2. Menambahkan kode default manager dan custom manager seperti gambar dibawah ini
di class post
objects = models.Manager()
published = PublishedManager()
 Menampilkan Postingan dengan status “PUBLISHED”
1. Tambahkan kode seperti dibawah ini atau seperti digambar kedalam blog/views.py
from django.shortcuts import render, get_object_or_404
from . models import Post
from django.http import HttpResponse

def index(request):
return HttpResponse("<h1>hi, welcome to jungle</h1>")
def post_list(request):
posts = POst.published.all()
return render (request, 'blog/post/list.html', {'psot':
posts})

2. Tambahkan kode ke blog/ulrs.py untuk mendefinisikan URL Pattern.


from django.urls import path
from . import views

app_name = 'blog'

urlpatterns = [
path('', views.post_list, name='post_list')
]
3. Buka file urls.py di direktori project dan masukan kode dibawah in seperti gambar yang
tertera
from django.contrib import admin
from django.urls import path
from django.urls.conf import include

urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls', namespace='blog')),
]

4. Membuat struktur template seperti dibawah ini


5. Buat file base.html di direktori templates/blogs/ dan masukan baris kode dibawah ini seperti
di gambar yang tertera
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div>
{% block content %}
{% endblock %}
</div>
<div>
<h2>My blog</h2>
<p>This is my blog.</p>
</div>
</body>
</html>
6. Buat file list.html pada direktori templates/blog/post/ dan masukan baris kode dibawah ini
seperti gambar yang tertera
{% extends "blog/base.html" %}
{% block title %}My Blog{% endblock %}
{% block content %}
<h1>My Blog</h1>
{% for post in posts %}
<h2>
<a href="{{ post.get_absolute_url }}">
{{ post.title}}
</a>
</h2>
<p>
Published {{ post.publish }} by {{ post.author }}
</p>
{{ post.body|truncatewords:30|linebreaks }}
{% endfor %}
{% endblock %}

7. Jalankan server dan buka alamat localhost:8000/blog maka akan tampil gambar seperti
dibawah ini

Anda mungkin juga menyukai