Django CSRF токен не устанавливается - PullRequest
1 голос
/ 09 апреля 2020

Так что я использую VueJS и Django. Топор ios, чтобы сделать запрос на получение. Когда я пытаюсь получить токен CSRF и зарегистрировать его, он показывает, что он нулевой.

вот мой сериализатор:

class VehicleSerializer(serializers.ModelSerializer):

    seller = serializers.SerializerMethodField()       

    class Meta:
        model = Vehicle
        fields = ('vehicle_id', 'color', 'model', 'year', 'category', 'manufacturer', 'seller')

    def get_seller(self, instance):
        return instance.seller.customer.username

Мой Viewset:

class VehicleListCreateAPIView(ListCreateAPIView):
    serializer_class  = VehicleSerializer
    permission_classes = [IsAuthenticated]
    queryset = Vehicle.objects.all()

    def perform_create(self, serializer):
        request_user  = self.request.user
        try:
            seller = Seller.objects.get(customer = request_user)
        except Seller.DoesNotExist:
            seller = Seller.objects.create(customer = request_user)
            serializer.save(seller = seller)

Мой urlpattern:

path('vehicles/', VehicleListCreateAPIView.as_view()),

Код от django Документация для получения токена:

function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie !== '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = cookies[i].trim();
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) === (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}
var csrftoken = getCookie('csrftoken');

export { csrftoken };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...