Не удалось разобрать остаток: ',' из ''twitter:source_delete''.
Я хочу добавить td к моей таблице с помощью ajax, но у меня есть небольшая проблема, как добавить source.twitter_id в url?? ошибка, которую я получил "Could not parse the remainder: ',' from ''twitter:source_delete','' "
.Я пробовал также {% url 'twitter:source_delete', source.twitter_id %} это тоже ошибка.
javascript
function appendToUsrTable(source) {
console.log(source.twitter_id)
$("#sourceTable > tbody:last-child").append(`
<tr class="record" id="source-${source.twitter_id}">
<td>{{forloop.counter}}</td>
<td>${source.source_acct}</td>
<td><p data-placement="top" data-toggle="tooltip" title="Delete"><a href="{% url
'twitter:source_delete' ${source.twitter_id} %}" class="source_delete btn btn-
danger btn-xs"
data-title="Delete" data-toggle="modal" data-target="#delete"><span class="las la-trash-alt
del_s"></span></a></p></td>
</tr>
`);
}
views.py
class CreateCrudUser(View):
def get(self, request):
name_source = request.GET.get('source_acct', None)
print(name_source)
obj = Source.objects.create(
source_acct = name_source
)
source = {'twitter_id':obj.twitter_id,'source_acct':obj.source_acct}
data = {
'source': source
}
return JsonResponse(data)
эта проблема возникает из-за пустоты (нулевого значения) в source.twitter_id
.
поэтому лучше проверить, является ли source.twitter_id null или нет
Вы можете попробовать определить переменную url вне литерала шаблона java script следующим образом :
function appendToUsrTable(source) {
const url = "{% url 'twitter:source_delete' source.twitter_id %}"
console.log(source.twitter_id)
$("#sourceTable > tbody:last-child").append(`
<tr class="record" id="source-${source.twitter_id}">
<td>{{forloop.counter}}</td>
<td>${source.source_acct}</td>
<td><p data-placement="top" data-toggle="tooltip" title="Delete"><a href=${url} class="source_delete btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" data-target="#delete"><span class="las la-trash-alt del_s"></span></a></p></td>
</tr>
`);
NB : будьте осторожны с сочетанием переменной шаблона Django с литералом шаблона Java Script.
Я нашел решение. Спасибо!
let sour = source.twitter_id;
var url = "{% url 'twitter:source_delete' 123 %}".replace(/123/,sour.toString());