Django Не отображаются модели на сайте
не выводится вообще никакая информация из модели на сайт. Уже писал как угодно и что угодно, тупо ничего не отбражается. 3 день сижу, пересмотрел все видео и статьи на эту тему, документацию самого джанго, не понимаю почему не отображается. Передаю все верно и вызываю тоже
тут уже нафигачил кучу разных выводов Product, но ни 1 парамент не отображается
{% load static tailwind_tags %}
<html lang="en">
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.0.0/flowbite.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.0.0/flowbite.min.js"></script>
{% tailwind_css %}
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<header>
<nav class="bg-white border-b-2 border-indigo-800 px-4 lg:px-6 py-2.5">
<div class="flex flex-wrap justify-between items-center mx-auto max-w-screen-xl">
<a href="/home" class="flex items-center">
<img src="{% static 'main/img/logo.png' %}" width="250" alt="Flowbite Logo" />
</a>
<div class="hidden justify-between items-center w-full lg:flex lg:w-auto lg:order-1" id="mobile-menu-2">
<ul class="flex flex-col mt-2 font-semibold text-base lg:flex-row lg:space-x-8 lg:mt-0">
<a href="#" class="block py-2 pr-4 pl-3 text-indigo-800 border-b border-black hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0">Shop</a>
<a href="#" class="block py-2 pr-4 pl-3 text-indigo-800 border-b border-black hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0">Marketplace</a>
<a href="#" class="block py-2 pr-4 pl-3 text-indigo-800 border-b border-black hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0">Features</a>
<a href="#" class="block py-2 pr-4 pl-3 text-indigo-800 border-b border-black hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0">Team</a>
<a href="#" class="block py-2 pr-4 pl-3 text-indigo-800 border-b border-black hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0">Contact</a>
</ul>
</div>
<div class="flex items-center lg:order-2 ">
<a href="/users/login/" class="text-indigo-800 focus:ring-4 font-semibold rounded-lg text-lg px-4 lg:px-5 py-2 lg:py-2.5 mr-2 hover:bg-indigo-800 hover:text-white ">Log in</a>
<a href="/users/register/" class="text-indigo-800 focus:ring-4 font-semibold rounded-lg text-lg px-4 lg:px-5 py-2 lg:py-2.5 mr-2 hover:bg-indigo-800 hover:text-white ">Get started</a>
</div>
</div>
</nav>
</header>
<div class="container py-5">
<h1 class="text-2xl m-10 font-bold">Login User</h1>
<form class="w-2/5 bg-white-700 shadow-md m-10 rounded px-8 pt-6 pb-8 mb-4" method="post">
{% csrf_token %}
{{ product }}
<div class="mb-2">
<label class="block text-gray-700 text-sm font-bold mb-2">Username</label>
<p class="shadow appearance-none border rounded py-2 px-3 mr-10 text-gray-700 leading-tight">{{form.username}}</p>
<label class="block text-gray-700 text-sm font-bold mt-5 mb-2">Password</label>
<p class="shadow appearance-none border rounded py-2 px-3 mr-10 text-gray-700 leading-tight">{{form.password}}</p>
<p class="font-bold text-xl mb-2">{{products.name}}</p>
<p class="font-bold text-xl text-green-500 mb-2">$ {{products.price}}</p>
<p class="font-bold text-xl text-indogo-500 mb-2">by: {{products.image}}</p>
<h2>
<a href="{{ product.category.get_absolute_url }}">{{products.category }}</a>
</h2>
<p class="text-gray-700 text-base">{{ products.description}}</p>
<p class="price">${{ product.price }}</p>
{{ products.description|linebreaks }}
{% block content %}
<div id="sidebar">
<h3>Категория</h3>
<ul>
<li {% if not category %}class="selected"{% endif %}>
<a href="{% url 'flowers:product_list' %}">Все</a>
</li>
{% for c in categories %}
<li {% if category.slug == c.slug %}class="selected" {% endif %}>
<a href="{{ c.get_absolute_url }}">{{ c.name }}</a>
</li>
{% endfor %}
</ul>
</div>
<div id="main" class="product-list">
<h1>{% if category %}{{ category.name }}{% else %}Товар{% endif %}</h1>
{% for product in products %}
<div class="item">
<a href="{{ product.get_absolute_url }}">
<img src="{% if product.image %}{{ product.image.url }}{%else %}{% static 'img/no_image.png' %}{% endif %}">
</a>
<a href="{{ product.get_absolute_url }}">{{ product.name }}</a>
<br>
${{ product.price }}
</div>
{% endfor %}
</div>
{% endblock %}
</div>
<button class="bg-indigo-800 text-white px-5 py-2" type="submit">Login</button>
<button class="bg-sky-600 text-white px-5 py-2"><a href="{% url 'users:register' %}">Register?</a></button>
</form>
{{ product.name }}
</div>
veiws.py
from django.shortcuts import render, get_object_or_404
from .models import Category, Product
def home(request):
return render(request, 'home.html')
def product_list(request, category_slug=None):
category = None
categories = Category.objects.all()
products = Product.objects.filter(available=True)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
return render(request, 'users/login.html',
{
'category': category,
'categories': categories,
'products': products
})
def product_detail(request, id, slug):
product = get_object_or_404(Product, id=id, slug=slug, available=True)
return render(request, 'users/login.html', context = locals())
models.py
from django.db import models
from django.urls import reverse
class Category(models.Model):
name = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, unique=True)
class Meta:
ordering = ('name',)
verbose_name = 'Category'
verbose_name_plural = 'Categorys'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('main:product_list_by_category', args=[self.slug])
class Product(models.Model):
category = models.ForeignKey(Category,
related_name='products',
on_delete=models.CASCADE)
name = models.CharField(max_length=150, db_index=True)
slug = models.CharField(max_length=150, db_index=True, unique=True)
image = models.ImageField(upload_to='product/%Y/%m/%d', blank=True)
description = models.TextField(max_length=1000, blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
uploaded = models.DateTimeField(auto_now=True)
class Meta:
ordering = ('name',)
verbose_name = 'Product'
verbose_name_plural = 'Products'
index_together = (('id', 'slug'), )
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('main:product_detail', args=[self.id, self.slug])
Сама модель работает корректно, в админке все работает, добавление, удаление, редактирование. Но при передаче в html и вызове Product там ничего не отображается на сайте.