ajax - Django我不能在模式中为每个带有ajax的字段添加按钮
问题描述
我试图在我的桌子上放一个按钮,但我无法成功
我收到一个错误“Reverse for 'editare-agenda' with keyword arguments '{'pk': '+field.id+'}' not found. 1 pattern(s) tried: ['dashboard/editare\-agenda/(? P[0-9]+)$']"
如果我输入一个数字而不是 +field.id+ 正在工作。如果我测试警报(field.id),我会收到 id。写 {% url 'dasboard:editare-agenda' pk=field.id %} 有什么问题,但我找不到解决方案。
这是我的 urls.py:
path('editare-agenda/<"int":pk>', 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);
}
});
解决方案
您可以更改您的网址条目
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
.....
推荐阅读
- angularjs - 查找在 AngularJS 中找不到的元素
- vba - 在其他单元格之后复制图片范围名称
- excel - 如何在列的单元格中创建一个简单的动态列表
- authentication - 您如何处理自定义 AuthenticationHandler 中的用户身份验证失败?
- c# - 依赖注入中的 Blazor(服务器)范围对象创建多个实例
- python - pycharm 错误代码 (-1073741571) 是什么意思?
- terraform - 如何在 local-exec 配置程序中从 terraform 继承 aws 凭据
- r - Crossprod 比 %*% 慢,为什么?
- c++ - cout的异常行为
- google-apps-script - AppScript:如何创建上传表单?