Django
  • Введение
  • Установка
  • Создание проекта
  • Создание приложения
  • Администрирование
  • Создание страниц
  • Динамические страницы
  • Добавление стилей
  • Шаблоны
  • Вывод одной записи
  • AJAX
  • Взаимодействие с БД
  • Сборка на Python3
  • Формы POST запрос
  • Cookie файлы
  • Работа с пользователями
  • Связь в моделях
  • PostgreSQL + JSON
  • Отключение csrf
Powered by GitBook
On this page

Was this helpful?

Вывод одной записи

Добавляем внутрь цикла в файле my_page_first.html ссылку на страницу my_page_second.html с параметром номера записи в таблице базы данных

<a href = "{% url 'my_page_second' pk=xxx.pk %}">My Own Link To Record {{ xxx.title }}</a> <br>

Открываем файл views.py и сохраняем в него следующее содержимое:

from django.shortcuts import render, get_object_or_404
from django.utils import timezone
from .models import MyFirstModel

def my_page_first(request):
    my_records_arr = MyFirstModel.objects.order_by('published_date')
    return render(request, 'prilogenie111/my_page_first.html', {'my_records_arr': my_records_arr})

def my_page_second(request, pk):
    my_record = get_object_or_404(MyFirstModel, pk=pk)
    return render(request, 'prilogenie111/my_page_second.html', {"my_record": my_record})

Внутри папки prilogenie111 открываем файл urls.py и сохраняем в него следующее содержимое:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.my_page_first, name='my_page_first'),
    url(r'^my_page_second/(?P<pk>\d+)/$', views.my_page_second, name='my_page_second')
]

Рядом с файлом my_template.html создаём файл my_page_second.html

Внутри файла my_page_second.html пишем следующий код:

{% extends 'prilogenie111/my_template.html' %}

{% block content %}

    <h2>Second page with record info</h2>

    <p>My Record Info</p>

    <p>
        {{ my_record.title }} <br>
        {{ my_record.text }} <br>
        {{ my_record.my_field_1 }} <br>
        {{ my_record.my_field_2 }} <br>
        {{ my_record.my_field_3 }} <br>
        {{ my_record.my_field_4 }} <br>
    </p>

{% endblock %}

Для того, чтобы посмотреть содержимое 3-ей записи в таблице, можно зайти по ссылке

http://127.0.0.1:8000/my_page_second/3/
PreviousШаблоныNextAJAX

Last updated 5 years ago

Was this helpful?