NameError at/ имя 'Product' не определено

Я работал над сайтом электронной коммерции, и он работал отлично, но сегодня, когда я запустил сервер, он показал мне "NameError at/ name '

"Продукт" не определен

" Я просмотрел код несколько раз и не обнаружил никакой ошибки

Models.py

Class Product(models.Model):
   ""
   ""
   def __str__(self)
      self.name

Views.py

From .models import *
def ShowProducts(request):
   items= Product.objects.all()
   context = {'items':items}
   return render(request, 'home.html', context=context)

urls.py

from . import views

urlspatterns=[
     Path ('', views.ShowProducts, name ='showproducts')
]

Меня больше всего удивляет то, что когда я меняю строку item= Product.objects.all() на items= () в файле views.py. Он отображает сайт правильно, хотя без какого-либо продукта в нем, пожалуйста, что мне делать

Здесь может быть 2 причины.

  1. В коде From .models import * От должно быть от. F - заглавная.
  2. Путь к файлу модели в from .models import * может быть from ..models import * правильным.

Если вы можете поделиться структурой каталогов, это может помочь.

Проблема:

В действительности, я полагаю, что ошибка, которую вы можете получить, заключается в следующем:

NameError: name 'product' is not defined

Решение

Это означает, что у вас должен быть атрибут product или же, возможно, вы не запустили необходимые миграции для вашего приложения.

Пожалуйста, добавьте необходимые атрибуты/поля в класс Product (обратите внимание, что в python класс начинается с нижнего регистра c, т.е. class Product) & затем запустите миграции. Ваш класс Product, похоже, не хватает. Обновите его соответствующим образом.

class Product(models.Model):
   # insert your fields here eg as below
   name = models.CharField(max_length=255)

   def __str__(self)
      self.name
Вернуться на верх