Django我不能在模式中为每个带有ajax的字段添加按钮
Posted
技术标签:
【中文标题】Django我不能在模式中为每个带有ajax的字段添加按钮【英文标题】:Django i cannot add button in modal for each field with ajax 【发布时间】:2019-10-13 00:11:43 【问题描述】:我正在尝试在我的表格中放置一个按钮,但我无法成功
我收到一个错误 “使用关键字参数 ''pk': '+field.id+'' 反转 'editare-agenda'。尝试了 1 种模式:['dashboard/editare\-agenda/(?P[0- 9]+)$']"
如果我输入一个数字而不是 +field.id+ 正在工作。如果我测试警报(field.id),我会收到 id。写 % url 'dasboard:editare-agenda' pk=field.id % 有什么问题,但我找不到解决方案。
这是我的 urls.py:
path('editare-agenda/', editare_agenda, name="editare-agenda"),
** "int" = int -> 因为他消失了,所以我不能在 url 路径中写入 int
$.ajax(
data: values,
method:"POST",
url: destinatie,
contenttType: 'application/json',
success: function(data)
var content ="";
$.each(data.agenda, function(i, field)
content += '<tr class="text-center">';
content += '<td>'+field.denumire_unitate+'</td>';
content += '<td>'+field.sectia+'</td>';
content += '<td>'+field.telefon+'</td>';
content += '<td>'+field.pers_contact+'</td>';
content += '<td>'+field.adresa+'</td>';
content += '<td><a href="% url "dashboard:editare-agenda" pk='+field.id+'%"><button type="button" class="btn btn-sm" style="border-radius: 5px;margin: 1px;"><i class="fas fa-edit fa-lg" style="color: blue"></i></button></a></td>';
content += '</tr>';
);
$('#tabela_agenda').html(content);
);
【问题讨论】:
你不能把 js 中的 id 放到 django 模板代码中。你可以这样做。http://example.com/url/?pk=1
我在模板中没有 django 表单我只有一个表格 ..... |
---|
您可以更改您的网址条目
path('editare-agenda/', editare_agenda, name="editare-agenda"),
在模板中
content += '<td><a href="% url "dashboard:editare-agenda" %?id='+field.id+'"><button type="button" tclass="btn btn-sm" style="border-radius: 5px;margin: 1px;"><i class="fas fa-edit fa-lg" style="color: blue"></i></button></a></td>';
在视野中
def editare_agenda(request):
field_id = request.GET.get('id', None)
# Now you can use field id as pk
.....
【讨论】:
【参考方案2】:content += '<td><a href="% url "dashboard:editare-agenda" pk=field.id %"><button type="button" tclass="btn btn-sm" style="border-radius: 5px;margin: 1px;"><i class="fas fa-edit fa-lg" style="color: blue"></i></button></a></td>';
path('editare-agenda/<int:pk>', editare_agenda, name="editare-agenda"),
【讨论】:
以上是关于Django我不能在模式中为每个带有ajax的字段添加按钮的主要内容,如果未能解决你的问题,请参考以下文章
两个外键字段,正好一个被设置为一个值,另一个在 MySQL 数据库的 django 模型中为空
带有 postgres 的 Django 的非关系数据库模式
Django - 带有 ModelForm 的属性和重新定义的字段?