我有以下风景。在第一页中,有产品类型,当选择特定类型时,它将发送到特定类型产品的页面,然后,当我选择产品时,应将我发送到具有产品完整信息的产品页面。但是我无法访问上一个产品页面。我该如何解决?我的代码:
views.py:
def products_fizlitso(request):
fizlitso_product = InsuranceProducts.objects.filter(product_type="Физическое
Лицо")
context = {'fizlitso_product': fizlitso_product}
return render(request, 'insurance_products/fizlitso/fizlitso.html', context)
def fizlitso_type(request, type_id):
product_type = get_object_or_404(InsuranceProducts, id=type_id)
context = {'product_type': product_type}
return render(request, 'insurance_products/fizlitso/fizlitso_type.html',
context)
def product_page(request, product_id):
product = get_object_or_404(ProductType, id=product_id)
context = {'product': product}
return render(request, 'insurance_products/fizlitso/product.html', context)
这是urls.py:
# ******************************************************************
path('fizlitso/', views.products_fizlitso, name='product_fizlitso'),
# ******************************************************************
# ******************************************************************
path('fizlitso/product_type<int:type_id>', views.fizlitso_type, name='fizlitso_type'),
# ******************************************************************
# ******************************************************************
path('fizlitso/product_type<int:type_id>/product<int:product_id>', views.product_page, name='product_page'),
# ******************************************************************
这是模板的django部分,其中包含所有产品类型:
{% for product in fizlitso_product %}
<div class="btmspace-80">
<h3>{{ product.product_area }}</h3>
<img class="imgr borderedbox inspace-5" src="{% static 'img/imgr.gif' %}" alt="">
<p>
{{ product.product_description }}
</p>
<p>
Подробно вы можете узнать <a href="{% url 'main:fizlitso_type' product.id %}">здесь</a></a>
</p>
</div>
{% endfor %}
这里是模板的django部分,其中包含特定类型的所有产品:
{% for product in product_type.producttype_set.all %}
<div class="btmspace-80">
<h3>{{ product.title }}</h3>
<img class="imgr borderedbox inspace-5" src="{% static 'img/imgr.gif' %}" alt="">
<p>
{{ product.description }}
</p>
line 84 <p>
Подробно вы можете узнать <a href="{% url 'main:product_page' product.id %}">здесь</a></a>
</p>
</div>
{% endfor %}
这是有关从上一页中选择的特定产品的页面:
<div class="btmspace-80">
<h3>{{ product.title }}</h3>
<img class="imgr borderedbox inspace-5" src="{% static 'img/imgr.gif' %}" alt="">
<p>
{{ product.description }}
</p>
</div>
这是错误:
/ fizlitso / product_type1处的NoReverseMatch
找不到带有参数'('',)'的'product_page'的反向。 1个 尝试的模式: ['fizlitso \ / product_type(?P [0-9] +)\ / product(?P [0-9] +)$']
C:\ Users \ Lenovo 101 \ PycharmProjects \ uzagro_3 \ main \ templates \ insurance_products \ fizlitso \ fizlitso_type.html, 第84行出现错误
答案 0 :(得分:0)
您的网址名称product_page有两个参数:type_id,product_id
path('fizlitso/product_type<int:type_id>/product<int:product_id>', views.product_page, name='product_page')
你给一个?
<a href="{% url 'main:product_page' product.id %}">