Передача параметров в URL-запросах
В файле urls.py
в списке urlpatterns
прописываем необходимое правило обработки url. Допустим, если нам надо обработать переход по адресу вида http://127.0.0.1:8000/category/1/
то мы пишем:
path('category/<int:category_id>/', get_category)
Первым аргументом мы указываем что после category
должно идти целое число (int:category_id
). Вторым параметром мы указываем имя функции без скобок, которая будет выполняться при переходе по указанному адресу.
Далее в файле views.py
мы прописываем функцию get_category
:
from .models import Category
def get_category(request, category_id):
news = News.objects.filter(category_id=category_id)
categories = Category.objects.all()
category = Category.objects.get(pk=category_id)
return render(request, 'news/category.html', {'news': news, 'categories': categories, 'category': category})