Задать вопрос
@gromyko21

Как отобразить переменные модели в шаблоне Django?

Всем доброго времени суток. Перейду сразу к делу - никак не могу отобразить переменные из модели(которые уже созданы в админке) в шаблоне. 3 дня сижу с этим моментом, пересмотрел кучу гайдов, в том числе и документацию и почему-то ничего не выходит.
view:
from django.shortcuts import render, get_object_or_404
from .models import Kitchen

def kuhni(request):
    return render(request,'kuhni/kuhni.html')
def direct_kuhni(request):
    return render(request,'kuhni/direct_kuhni.html')
def direct_name(request, id):
    direct_product = get_object_or_404(Kitchen,
                                    id=id)
    return render(request,'kuhni/unique_kuhni.html', {'direct_product' : direct_product})

models:
from django.db import models

class Kitchen(models.Model):
    nameKitchen = models.CharField(max_length=30, name='Название')
    top_facade = models.CharField(max_length=30, name='Верхние фасады', null=True, blank=True)
#Ниже остальное

    def get_absolute_url(self):
        return "/kuhni/direct_kuhni/%i/" % self.id

url этого приложения, тут проблем нет, url создается правильно:
from django.urls import path
from . import views

urlpatterns = [
    path('', views.kuhni, name='kuhni'),
    path('direct_kuhni/', views.direct_kuhni,name='direct_kuhni'),
    path('direct_kuhni/<int:id>/', views.direct_name),
]

И сам шаблон:
{% extends 'base/base.html' %}
{% load static %}

{% block title %} {{ nameKitchen }} {% endblock %}
{% block content %}
    <a>{{ nameKitchen }}</a>
    <p>{{ top_facade }}</p>
{% endblock %}


Пробовал много методов(в основном менял view).
С моделями нет проблем - она отображаются в админке так, как нужно, а при клике на "Смотреть на сайте" открывается пустой шаблон(переменные никак не показываются).
Всем заранее спасибо!
  • Вопрос задан
  • 509 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы