I have multiple apps in project and using appname and namespace for urls. I need to dynamically add js variable value in django template url with app name. If I write without appname like --
var temp =23
var href = "{% url 'report_page' id=0 %}".replace(/0/, temp.toString())
It is giving desired result as--
"{% url 'report_page' location_id=23 %}"
But when I use appname its not working for me eg
var href = "{% url 'appname : report_page' id=0 %}".replace(/0/, temp.toString())
Let me give you the exact code: In django template:
<html>
<a href="{% url 'appname : report_page' id=0 %}">Report</a>
</html>
var href = "{% url 'appname : report_page' id=0 %}".replace(/0/, temp.toString())
In url.py of the appname:
def report_page(request):
import pdb;pdb.set_trace()
# location_id = request.GET['id']
return render(
request,
'report.html',
{'id' : request.user.id, 'id' : ''}
)
In views:
var temp =$('#check_id').val() <a href="{% url 'appname: report_page' %}?id="+temp;>Report</a>
Note: I'm using django 1.11 and I have also tried below one but getting empty string:
var temp =$('#check_id').val() <a href="{% url 'appname: report_page' %}?id="+temp;>Report</a>
When you are using with djagno url such as {% url 'appname : report_page' id=0 %}
, when django template will rendering it will convert into the like /appname/report-page/0/
, it's solutions is, first you will to take a
tag attributes value then change this. please find below solutions.
var arr = $("a").attr('href').split('/') arr[arr.length-2]=777 # demo value $("a").attr('href',arr.join('/'))
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.