[PYTHON] Bloc d'achoppement du framework Django REST

Method Not Allowed:405

401 Unauthorized

Comment fonctionne l'URL

Serializer --Utilisez fields = '__ all __' ' --'required ': utiliser pleinement False`

serializer.py


class HistorySerializer(serializers.ModelSerializer):
    class Meta:
        model = History
        fields = '__all__'
        extra_kwargs = {
            'id': {'required': False},
            'start_at': {'required': False},
        }

403 interdit (impossible de POST avec JavaScript)

js-cookie Importez la bibliothèque suivante https://github.com/js-cookie/js-cookie/

Exemple.

base.html


<script src="{% static 'js.cookie/js.cookie.min.js' %}"></script>

Description JavaScript

Ajouté aux paramètres ajax

js



params = {
    csrfmiddlewaretoken: Cookies.get('csrftoken'),
    ...
}

js


$('#btn-add-confirm').click(() => {
    let post_url = "/api/configs/";
    let params = {
        csrfmiddlewaretoken: Cookies.get('csrftoken'),  //J'ai besoin de ce gars
        year: $("#input-year").val(),
        url: $("#input-url").val(),
        num_of_report: 1,
        is_selected: "0"
    }

    $.ajax({
        url: post_url,
        type: "POST",
        data: params,
        success: function(data, textStatus, jqXHR) {
            window.location.reload();
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.warn("Impossible de publier");
        }
    });
})

https://docs.djangoproject.com/en/dev/ref/csrf/#ajax

403 Interdit (ne peut pas être SUPPRIMÉ avec JavaScript)

js-cookie Voir 403 Interdit (impossible de POST avec JavaScript)

Description JavaScript

Ajout de beforeSend à ajax

js


        beforeSend: function(xhr) {
            xhr.setRequestHeader("X-CSRFToken", Cookies.get('csrftoken'));
        },

js


$('.btn-delete').click(function() {
    let post_url = "/api/configs/";

    $.ajax({
        url: post_url + $(this).val() + "/",
        type: "DELETE",
        beforeSend: function(xhr) {
            xhr.setRequestHeader("X-CSRFToken", Cookies.get('csrftoken'));
        },
        success: function(data, textStatus, jqXHR) {
            window.location.reload();
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.warn("Impossible de publier");
        }
    });
})

Recommended Posts

Bloc d'achoppement du framework Django REST
Bases du framework Django REST
Astuces Django Rest Framework
Framework Django REST avec Vue.js
Connectez-vous avec Django Rest Framework
[Django] Utiliser MessagePack avec le framework Django REST
Créer une API RESTful avec Django Rest Framework
Suppression logique dans Django, DRF (Django REST Framework)
Comprendre la commodité de Django Rest Framework
Un outil administratif qui peut être créé immédiatement avec le framework ng-admin + Django REST
CRUD GET avec Nuxt & Django REST Framework ②
CRUD POST avec Nuxt & Django REST Framework
CRUD GET avec Nuxt & Django REST Framework ①
Django REST Framework + Considération de conception d'architecture propre
CRUD PUT, DELETE avec Nuxt & Django REST Framework
Implémenter la fonctionnalité de connexion JWT dans le framework Django REST
Implémentation de la fonction d'authentification dans Django REST Framework à l'aide de djoser
Framework Web Django Python
Créer une application Todo avec Django REST Framework + Angular
Plus de nouvelles méthodes d'authentification des utilisateurs avec Django REST Framework
Essayez de créer une application Todo avec le framework Django REST
Créer une API autour de l'authentification des utilisateurs avec Django REST Framework
Lorsque vous souhaitez filtrer avec le framework Django REST
[Django Rest Framework] Personnalisez la fonction de filtre à l'aide de Django-Filter
Implémenter des URL hiérarchiques avec des routeurs imbriqués drf dans le framework Django REST
Comment écrire une validation personnalisée dans Django REST Framework
Comment réinitialiser le mot de passe via l'API à l'aide du framework Rest Django
Décorateurs du cadre de repos Django ʻaction decorator remplace list_route et detail_route`
Implémentation de la fonction d'authentification JWT dans Django REST Framework à l'aide de djoser
Implémentation de CRUD à l'aide de l'API REST avec Python + Django Rest framework + igGrid
Créer une API REST pour faire fonctionner dynamodb avec le Framework Django REST
[Python] La pierre d'achoppement de l'importation
Installer le framework Python django à l'aide de pip
Implémentation de la fonction d'authentification du modèle utilisateur personnalisé dans Django REST Framework à l'aide de djoser
Comment gérer les caractères déformés dans json de Django REST Framework
J'ai fait une webAPI! Construire un environnement à partir de Django Rest Framework 1 avec EC2