НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

Django Підручник

Django Головна Django Інтро Django Почати навчання Створення віртуального середовища Встановити Django Django Створити проєкт Django Створити додаток Django Представлення Django URL Django Шаблони Django Моделі Django Вставити дані Django Оновити дані Django Видалити дані Django Оновити модель

Відображення даних

Підготовка шаблону і представлення Додати посилання на деталі Додати головний шаблон Додати головну Index сторінку Django 404 Шаблон Додати Test перегляд

Адмін

Django Адмін Створити користувача Включити моделі Відображення списку установок Оновити учасників Додати учасників Видалити учасників

Django Синтаксис

Django Змінні Django Теги Django If Else Django Цикл For Django Коментар Django Include

QuerySets

QuerySet Інтро QuerySet Get QuerySet Фільтр QuerySet Order By

Статичні файли

Додати статичні файли Встановити WhiteNoise Зібрати статичні файли Додати глобальні статичні файли Додати стилі до проєкту

PostgreSQL

PostgreSQL Інтро Створити обліковий запис AWS Створити бази даних у RDS Підключитися до бази даних Додати учасників

Розгортання Django

Elastic Beanstalk (EB) Створити requirements.txt Створити django.config Створити .zip файл Розгорнути із EB Оновити проєкт

Більше Django

Додати Slug Field Додати Bootstrap 5

Django Довідники

Довідник тегів шаблону Довідник фільтра Довідник Пошуку полів

Django Вправи

Django Компілятор Django Вправи Django Вікторина Django Сервер Django Сертифікат

Django. Уроки для початківців

En Es De

Django Додати посилання на деталі


Шаблон деталей (подробиць)

Наступним кроком на нашій вебсторінці буде додавання сторінки з деталями (подробицями), де ми зможемо перерахувати додаткові відомості про певного учасника.

Почніть зі створення нового шаблону під назвою details.html:

my_tennis_club/members/templates/details.html:

<!DOCTYPE html>
<html>

<body>

<h1>{{ mymember.firstname }} {{ mymember.lastname }}</h1>

<p>Phone: {{ mymember.phone }}</p>
<p>Member since: {{ mymember.joined_date }}</p>

<p>Back to <a href="/members">Members</a></p>

</body>
</html>

Додайте посилання в шаблон усіх учасників

Список у all_members.html має бути доступним для натискання та спрямовувати вас на сторінку деталей з ідентифікатором учасника, якого ви натиснули:

my_tennis_club/members/templates/all_members.html:

<!DOCTYPE html>
<html>
<body>

<h1>Members</h1>

<ul>
  {% for x in mymembers %}
    <li><a href="details/{{ x.id }}">{{ x.firstname }} {{ x.lastname }}</a></li>
  {% endfor %}
</ul>

</body>
</html>

Створити нове представлення

Потім створіть нове представлення даних у файлі views.py, яке оброблятиме вхідні запити до /details/ url:

my_tennis_club/members/views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Member

def members(request):
  mymembers = Member.objects.all().values()
  template = loader.get_template('all_members.html')
  context = {
    'mymembers': mymembers,
  }
  return HttpResponse(template.render(context, request))

def details(request, id):
  mymember = Member.objects.get(id=id)
  template = loader.get_template('details.html')
  context = {
    'mymember': mymember,
  }
  return HttpResponse(template.render(context, request))

Представлення details робить наступне:

  • Отримує id як аргумент.
  • Використовує id для пошуку правильного запису в таблиці учасників.
  • Завантажує шаблон details.html.
  • Створює об’єкт, що містить елемент.
  • Надсилає об’єкт до шаблону.
  • Виводить HTML, який відображається шаблоном.

Додати URL-адреси

Тепер нам потрібно переконатися, що URL-адреса /details/ вказує на правильне представлення з id як параметр.

Відкрийте файл urls.py та додайте представлення деталей до списку urlpatterns:

my_tennis_club/members/urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('members/', views.members, name='members'),
    path('members/details/<int:id>', views.details, name='details'),
]
Виконати приклад »

Якщо ви виконали всі кроки на своєму комп’ютері, ви можете побачити результат у своєму браузері: 127.0.0.1:8000/members/.

Якщо сервер не працює, його потрібно запустити знову за допомогою команди runserver:

py manage.py runserver


Коментарі