How to send data with Url Django

Question:

I want to send {{order.id}}, but getting error like pictuce in bellow, please helping me to solve problem

Image Error

Views.py:

def Detail_pem(request, idor):
    print(idor)
    return render(request, 'store/detail.html' )

pemby.html:

              <!-- <a href="{% url 'Detail_pem' %}"><button data-product="{{order.id}}" data-act="{{order.name}}" class="btn btn-warning id_order btntam" >Detail</button> </a> -->
              <button data-product="{{order.id}}" data-act="{{order.name}}" class="btn btn-warning id_order btntam" >Detail</button> 
              <a href="{% url 'Detail_pem' idor=order.id %}"></a>
            </td> 
          </tr>
          {% endfor %}
        </tbody> 
      </table>
</div> 
<!-- <script type="text/JavaScript" src="{% static 'js/pem.js' %}"></script> -->
 
<script>
var id_order = document.getElementsByClassName('id_order')
for (i = 0; i < id_order.length; i++) {
  id_order[i].addEventListener('click', function(){
        var orid  = this.dataset.product
        var ornm  = this.dataset.act
        console.log('orid :', orid)
        console.log('ornm :', ornm)
        window.location.href = "{% url 'Detail_pem'  %}"
    })
    
}

urls.py:

path('Detail_pem/<idor>', Detail_pem, name='Detail_pem'),
Asked By: Deni Alfino

||

Answers:

You are redirecting through
window.location.href = "{% url 'Detail_pem' %}" without a variable.

But in your urls.py you are passing idor variable.

It should be: window.location.href = "{% url 'Detail_pem' order.id } %}".

And your urls.py change to this:
int:id

#if you are passing integer
path('Detail_pem/<int:id>', Detail_pem, name='Detail_pem'),

#or if you are passing string
path('Detail_pem/<str:id>', Detail_pem, name='Detail_pem'),
Answered By: oruchkin