First of all, when it comes to web development you really want to avoid hard coding paths in your templates. The reason for this is that paths might change, and it will be a hassle to go through all your HTML and templates to find every single URL or path and update it manually. It makes your code much harder to maintain.
The solution to this is to define functions that return the URL instead. This is where get_absolute_url() comes into the picture.
<!-- Bad -->
<a href="/language/category/product/{{product.pk}}">Link</a>
<!-- Good -->
<a href="{{product.get_absolute_url}}">Link</a>
First of all, when it comes to web development you really want to avoid hard coding paths in your templates. The reason for this is that paths might change, and it will be a hassle to go through all your HTML and templates to find every single URL or path and update it manually. It makes your code much harder to maintain.
The solution to this is to define functions that return the URL instead. This is where get_absolute_url() comes into the picture.