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 причины.
- В коде
From .models import *
От должно быть от. F - заглавная. - Путь к файлу модели в
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