生成HTML的Django URL我使用Django 1.10.6,並試圖產生從數據表從javascript函數
下url.py一個JavaScript函數的網址我有一個叫做頁面的個人資料設置,如:
app_name = 'myapp'
urlpatterns = [
url(r'^profile/(?P<pk>[0-9]+)/$', views.ProfileView.as_view(), name='profile'),
]
在javascript中我有一個Django的查詢數據發送到一個變量,數據顯示在與名稱和ID字段的表:
var django_dat =[
{
"id": 1,
"name": "Jack Spicer",
},
{
"id":2,
"name": "Ted Cracker",
}
{
"id":3,
"name": "Justin Rollin",
}
{
"id":4,
"name": "Boaty Boat",
}
];
$(document).ready(function() {
var table = $('#dattable').DataTable({
data: django_dat,
columns: [{
'data': null,
'render': function(data, type, row, meta) {
//Django URL
return '<a href={% url 'myapp:profile' 2 %}>' + data.name + '</a>';}},
{
data: 'id'
}]
});
});
我試圖改變的URL s o將名稱鏈接到像{%url'myapp:profile'data.id%}這樣的網址。上面的代碼被硬編碼爲id = 2並且可以工作。
試過更改爲:
return '<a href={% url 'myapp:profile' '+ data.id+ ' %}>' + data.name + '</a>'
但是,這給了一個無反向匹配錯誤Reverse for 'profile' with arguments '('+ data.id+ ',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['profile/(?P<pk>[0-9]+)/$']
還試圖使用替換功能:
return '<a href={% url 'myapp:profile' uid %}>'.replace('uid', data.id) + data.name + '</a>'
,但得到了同樣的錯誤
我想我被卡住了選項1,謝謝 – ccsv