Данные моделей Django не отображаются в режиме начальной загрузки

#django #django-models #bootstrap-4 #django-templates #bootstrap-modal

Вопрос:

Я столкнулся с проблемой передачи данных модели в модальный режим начальной загрузки. Информация не отображается в режиме начальной загрузки, но когда я пытаюсь передать данные в обычный шаблон, информация отображается.

Не могли бы вы, ребята, пожалуйста, помочь мне выяснить, в чем проблема. Я буду очень признателен вам за помощь!

Вот код.

catalog.html

 <div class="row">
{% for getdata in furniture %}
<div class="col-md-4">
    <a class="" href="{{ getdata.update_view_count_url }}" data-toggle="modal" data-target="#product_modal">
        <div class="card text-center mb-5">
            <img src="{{baseUrl}}/{{getdata.furnitureImg}}" alt="" class="card-img-top mt-3 px-2">

            <div class="card-body">
                <h3 class="card__fName text-uppercase">{{getdata.furnitureName}}</h3>
                <h2 class="card__fPrice">${{getdata.unitPrice}}</h2>

                <a href="{{ getdata.add_to_cart_url }}" class="card__button text-uppercase">
                    <i class="uil uil-shopping-cart"></i>
                    Add To Cart
                </a>
            </div>
        </div>
    </a>
</div>
{% endfor %}
{% include 'user/product.html' %}
</div>
 

models.py

     def update_view_count_url(self):
       return reverse("ecommerce:view", kwargs={
           'slug': self.slug
       })
 

urls.py

 from django.urls import path
from . import views
from . import recommendation
from .views import ItemDetailView, CartDetailView, OrderSummaryView

app_name = 'ecommerce'

urlpatterns = [
    path('view/<slug>/', views.updateViewToItem, name='view'),
    path('product/<slug>/', ItemDetailView.as_view(), name='product'),
]
 

views.py

     class ItemDetailView(DetailView):
        model = Furniture
        template_name = "user/product.html"


    # View the item after clicking
    def updateViewToItem(request, slug):
        item = get_object_or_404(Furniture, slug=slug)

        viewed_item = User_Views.objects.filter(userId=request.user, furnitureId=item)

        if viewed_item.exists():
            get_viewed_item = User_Views.objects.get(userId=request.user, furnitureId=item)
            get_viewed_item.viewCount  = 1       
            get_viewed_item.save()
        else:
            view = User_Views.objects.create(userId=request.user, furnitureId=item, viewCount=1)

        return redirect('ecommerce:product', slug=slug)
 

product.html

 {% load static %}
{% static "images/" as baseUrl %}
{% block content %}
<div class="modal fade" id="product_modal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h2>item profile listings</h2>
        <button type="button" class="close" data-dismiss="modal">amp;times;</button>
      </div>
      <div class="modal-body">
        <div class="row">
          <div class="col-md-7">
            <img src="{{baseUrl}}/{{object.furnitureImg}}" alt="">
          </div>
          <div class="col md-5" style="color: black;">
            <span>Name : {{ object.furnitureName }}</span><br>
            <span>Price : ${{ object.unitPrice }}</span><br>
          </div>
        </div>       
      </div>
      <div class="modal-footer">
        <a href="{% url 'ecommerce:cart' %}" class="card__button text-uppercase">
          <i class="uil uil-shopping-cart icon__size"></i>
          Add To Cart
        </a>
      </div>
    </div>
  </div>
</div>
{% endblock content %}
 

#вывод(модальный) , когда я выбираю мебель#

введите описание изображения здесь

Комментарии:

1. Не могли бы вы отладить свой updateViewToItem() метод print(item) сразу после присвоения значения item ? Возможно, вы неправильно передадите поле slug в свой шаблон. Во-первых, убедитесь, что item этого объекта нет None ; на самом деле он имеет значение.