Я не могу отобразить тег url в шаблоне

views.py `

def Product_details (request , product_name):
    product_detail = Product.objects.get(pk=product_name)
    return render (request, 'product_detail.html', {
      'product_detail' : product_detail,
})

`

urls.py

`

urlpatterns = [

  path('', views.Product_list , name= 'Product_list'),
  path('product/<int:product_name>/', views.Product_details , name= 'Product_details'),

product_detail.html

`

                        <a href="{% url 'Product_details' product.name %}

``

отображение тега url на странице

В вашем urls.py файле добавьте эту переменную над urlpatterns:

app_name = "products"

и затем попробуйте получить доступ к нему следующим образом:

<a href="{% url 'products:Product_details' product.name %}">click me</a>

First app_name должен появляться только один раз в данном файле urls.py. Вы также импортируете модули, которые, похоже, не нужны в вашем файле urls.py. Сейчас у вас, похоже, есть:

from django.urls import path 
from .import views 
from django.conf import settings 
from .forms import OrderForm 
from django.conf.urls.static import static 

app_name = 'Product_list' 
app_name = 'OrderForm' 
app_name = 'SpecialProduct' 
app_name = 'products'

urlpatterns = [ 
    path('', views.Product_list , name= 'Product_list'),
    path('product/<int:product_name>/', views.Product_details , name= 'Product_details'), 
    path('qa/', views.Question_list , name= 'Question_list'), 
    path ('order/' , views.OrderForm , name='OrderForm'),
]

Итак, измените вышеуказанный файл на:

from django.urls import path 
from .import views 
 
app_name = 'products'

urlpatterns = [ 
    path('', views.Product_list , name= 'Product_list'),
    path('product/<int:product_name>/', views.Product_details , name= 'Product_details'), 
    path('qa/', views.Question_list , name= 'Question_list'), 
    path ('order/' , views.OrderForm , name='OrderForm'),
]

Далее, сделайте то, что предлагает @Hammad:

<a href="{% url 'products:Product_details' product.name %}">click me</a>

Next. У вас есть pk=product_name и path('product/<int:product_name>/', которые предполагают, что имя_продукта является первичным ключом и целым числом. Термин name обычно относится к строке, а не к целому числу, поэтому я и хотел увидеть ваш класс Product.

Вернуться на верх