Данные Django через ajax пусты при просмотре

#python-3.x #django

#python-3.x #django

Вопрос:

Я пытаюсь передать данные в django view через ajax, как я делал с php, но я получаю при печати пустое значение, но мой журнал консоли показывает, что в javascript есть значение данных, но при просмотре возвращает None

 Quit the server with CONTROL-C.
None
  

мой код HTML-файла

 {% for image in images %}

<table style="width:100%;" id="tab-{{image.image_cid}}">
    <tr>
        <td style="width:70%;vertical-align:middle">
            <img src="/medias/{{ image.image_value }}" alt="" width="100" >
        </td>

        <td style="width:30%;vertical-align:middle">
            <a href="#/" id="{{ image.image_cid }}" class="cl-img-del"> DELETE </a>
        </td>
    </tr>
</table>

{% endfor %}

<script>

$(document).ready(function(){

    $(".cl-img-del").click(function(e){
        var imgID = e.target.id
        console.log(imgID);
        $.ajax({
            headers: {'X-CSRFToken': '{{ csrf_token }}'},
            url: "{% url 'delete-image-ajax' %}",
            type: "POST",
            data: { imageid: imgID },
            contentType: false,
            cache: false,
            processData:false,
            success: function(data){
                if(data == 'done')
                {
                    $('#tab-' imgID).remove();
                }
            },
            error: function(){}             
        });
    });
});

</script> 
  

и мой код файла просмотра

 def deleteImageAjxFn(request):
    if request.method == "POST":
        imgid = request.POST.get('imageid')
        print(imgid)
        try:
            image = Images.objects.filter(image_shw = int(0), image_cid=imgid).delete()
        except Images.DoesNotExist:
            image = None
        if(image):
            return HttpResponse('done')
    else:
         return HttpResponse('None')
  

Ответ №1:

используйте статический URL в ajax вместо динамических тегов URL django

используйте это вместо url: "/delete-image-ajax/"

Комментарии:

1. Это ничего не меняет, все то же самое

2. пожалуйста, проверьте URL, это / delete-image-ajax / или что-то еще

3. да, я пытался вернуть то же самое, URL-адрес ‘/ deletejx /’ None [25/Oct/2020 06:33:50] "POST /deletejx/ HTTP/1.1" 200 4

4. попробуйте указать imageid в data ->data: { «imageid»: imgID }