在django项目中,我urls.py
喜欢url(r'^data/$', get_data, name='data'),
我可以在我的模板data.html
中添加<a href='{% url 'data' %}'>Create New Data</a>
,但效果很好。当我点击链接时,会显示localhost://data
。
现在我使用data.js
中的jquery和datatable动态显示表格,并且我能够使用以下代码创建可点击的表格单元格:
$('#table').DataTable( {
"columnDefs": [
{
"render": function (data, type, row){
return "<a href='blawblawblaw'>Click cell</a>";
},
]
})
我可以通过上面的return语句传递url吗?
之类的东西 return "<a href='{% url 'data' %}'>Click cell</a>";
如果我尝试使用上面的内容,则The current URL, {% url, didn't match any of these.
答案 0 :(得分:1)
因为语法如:'{% url 'data' %}'
用于django模板,Django将在服务器端呈现HTML,然后将呈现的HTML响应给客户端。
当我们在render(request, template)
中致电views.py
时,Django会填写模板中写的内容,如:{% url 'data' %}
。
如果您的网址对于每个数据对象都相同,则可以使用Django将js代码粘贴到模板中以呈现内容。
如果您的网址是每个数据对象的动态更改,我会为数据对象提供其他信息字段,如:"url"
或"id"
,以便客户端可以获取正确的网址路径。
Django中的语法如:{% .... %}
用于服务器端,不用于客户端。您可以打开开发人员工具,查看返回值,然后您将看到原始字符串:"<a href='blawblawblaw'>Click cell</a>"