Я пытаюсь поместить кнопку в свою таблицу, но у меня не получается
я получаю сообщение об ошибке «Обратное для 'editare-agenda' с аргументами ключевого слова '{'pk': '+field.id+'}' не найдено. Пробовали 1 шаблон(ы): ['dashboard/editare\-agenda/(?P[0- 9]+)$']"
если я поставлю число вместо +field.id+ работает. если я проверю предупреждение (field.id), я получу идентификатор. что-то неправильно пишет {% url 'dasboard:editare-agenda' pk=field.id %}, но я не могу найти решение.
это мой urls.py:
path('editare-agenda/<"int":pk>', editare_agenda, name="editare-agenda"),
** "int" = int -> я не могу написать int в URL-адресе, потому что он исчезает
$.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);
}
});
у меня нет форм django в шаблоне у меня есть только таблица <table> <thead><tr><th>.....</th></tr> </thead> <tbody id = "tabela_agenda"> </tbody> </таблица
вы должны отредактировать свой URL
@шурав спасибо! работает.. но это не лучший вариант. например, мой текущий URL-адрес локальный: 8000/приборная панель/редактировать/1, если я изменю порт сервера запуска, этот URL-адрес больше не будет работать
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"),
Вы можете изменить свой URL-адрес
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
.....
вы не можете поместить идентификатор из js в код шаблона django. Вы можете сделать это так.
http://example.com/url/?pk=1