こんにちは、
現在PythonのDjangoでBlogを作成しています。
BlogにはCategoryという、複数のCategoryを投稿記事に割り当てる機能があり、Categoryを選択するとそのCategoryが割り当てられた記事を表示する機能があります。
今やりたいことは、そのカテゴリ関連記事表示の際にLocalhost:8000/BLOG/Category名ではなく、CategoryにSlugを追加してLocalhost:8000/BLOG/Slug名でページを表示させたいです。
下記Modelにslugを追加しましたが、viewsについてあまり理解できていないため、urls.pyとviews.pyの変更方法がよくわかりません。
度々の投稿で恐縮ですが、わかる方いらっしゃいましたらご教示お願い致します。
models.py
from django.db import models class Category(models.Model): person = models.CharField(max_length=20) description = models.TextField() slug = models.SlugField() def __str__(self): return self.slug
views.py
def blog_category(request, category): posts = Post.objects.filter(categories__person__contains=category).order_by("-created_on").distinct() context = {"category": category, "posts": posts} return render(request, "blog_category.html", context)
urls.py
urlpatterns = [ path("<category>/", views.blog_category, name="blog_category"), ]
何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 03:35
2020/06/03 03:39
2020/06/03 11:55