Метод POST не разрешен в django запросах - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь вызвать API, используя django request.post, но получаю ошибку 405 «Метод запрещен (POST)» urls: path('ciu_consume/<str:br>/<int:qty>/', CiuConsumeView.as_view()) view:

class CiuConsumeView(APIView):
    def dispatch(self, *args, **kwargs):
        return super().dispatch(*args, **kwargs)

    def get(self, request, br, qty):
        import pdb;pdb.set_trace()
        Response = requests.put('http://inv****.***.***.c***y.in/**/**/***/***/',
                                data={'br': br, 'qty': 1})

        return HttpResponse('Success')

В этом я ' m появляется ошибка 404

Если вместо def get () я вызываю def post, тогда я получаю ту же ошибку. Действительно застрял на этом. Любая помощь в этом будет полезна.

 <form id="form" method="post">{% csrf_token %}

    <table class="table table-hover" id="table_id" class="display display nowrap">
        <thead>
            <tr>
                <th>S. No.</th>
                <th>barcode</th>
                <th>product name</th>
                <th>SKU</th>
                <th>Quantity</th>
                <th>product ID</th>
                <th>Colour Code</th>
                <th>Status</th>
                <th>Mark Loss</th>



            </tr>
        </thead>
            <tbody>
            {% for in_dict in in_dict %}
                <tr>
                    <td>{{ forloop.counter }}</td>
                    <td>{{ in_dict.br }}</td>
                    <td>{{ in_dict.p_name }}</td>
                    <td>{{ in_dict.sku }}</td>
                    <td>{{ in_dict.qty }}</td>
                    <td>{{ in_dict.p_id }}</td>
                    <td>{{ in_dict.clr_code }}</td>
                    <td>{{ in_dict.status }}</td>
                    <td><input type="button" name="consume" class="btn btn-success" value="consume" onclick="window.location.href='/api/admin-apis/ciu_consume/{{ in_dict.br }}/{{ in_dict.qty }}/';"></td>
                </tr>
            {% endfor %}


            </tbody>

    </table>
    </form>

1 Ответ

0 голосов
/ 13 июля 2020

Попробуйте добавить «https: //» перед ссылкой

Так, например, в этом случае, если вы нажимаете ссылку «http://example.com», попробуйте «https://example.com»

Иногда запрос не доходит до Django должным образом из-за вышестоящего сервера

...