我目前正在使用Django構建一個web應用程序。 我已經使用JS構建了一個日曆,並且我基本上從Js文件構建了HTML。如何從Django中的js html生成器獲取url?
我想在每個日曆日包括hrefs。例如: {%url'calendarDay'day = 28 month = 12 year = 2016%}是28/12/2016日期應該具備的內容。
如果我嘗試從我的模板中的任何其他地方轉到此URL,它的工作原理。由於某些原因,當我從js傳遞html時,它不起作用。
這是我在我的網址:
url(r'^calendar/$', views.calendar, name='calendar'),
url(r'^calendar/(?P<day>\w+)/(?P<month>\w+)/(?P<year>\w+)/$',views.calendar, name = 'calendarDay'),
這是我的js生成器功能(即建立在以前的一個月的天部分):
if (FirstDay.getDay()==0){
for (var i=LastMonthDays-5; i <= LastMonthDays; i++) {
href="<a href=\"{% url 'calendarDay' day="+i+" month="+(pastMonth.getMonth()+1)+" year="+pastMonth.getFullYear()+" %}\">"
html +=href+ "<li>"+(i)+"</li></a>";
}
}
這是怎樣的HTML文件看起來像當我檢查頁面:
<a href="{% url 'calendarDay' day=28 month=12 year=2016 %}"><li>28</li></a>
由於某種原因,它獲得的url是:http://127.0.0.1:8000/calendar/%7B%%20url%20 'calendarDay' %20天= 28%20個月= 12%20年= 2016%20 %% 7D
而且ofcourse我得到以下錯誤:
當前的URL,日曆/ {%URL 'calendarDay' 天= 28個月= 12年= 2016%},與這些中的任何一個都不匹配。
這裏有什麼問題?
DTL在JS文件中不起作用....因爲它們不是模板。 – Sayse
但它將html代碼傳遞到模板中。如果我檢查文件,我得到我應該得到的 –
不,它將HTML代碼傳遞到呈現的html中 – Sayse