Ошибка 403 при использовании Axios для отправки сообщений в Django
Я использую сервер Django, подключенный к фронт-энду React Native.
Сервер отлично работает в моем браузере, но я получаю ошибку при попытке опубликовать сообщение в моем приложении из Axios. Я получаю следующую ошибку:
[26/Aug/2021 13:26:53] "POST /api/ticket/ HTTP/1.1" 403 58
Forbidden: /api/ticket/
Вот моя axios функция:
const getTicket = async function () {
try {
let res = await axios.post("http://127.0.0.1:8000/api/ticket/", {
userID: 5,
eventID: 1,
});
return res;
} catch (err) {
console.error(err);
return err;
}
};
Вот мой models.py для класса Ticket:
class Ticket(models.Model):
ticketID = models.AutoField(primary_key=True)
userID = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
eventID = models.ForeignKey(
Event, related_name='tickets', on_delete=models.CASCADE)
bookedAt = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.ticketID)
Вот мой TicketSerializer в serializers.py:
class TicketSerializer(serializers.ModelSerializer):
class Meta:
model = Ticket
fields = "__all__"
Мой views.py
class TicketViewSet(viewsets.ModelViewSet):
queryset = Ticket.objects.all()
serializer_class = TicketSerializer
filter_backends = [DjangoFilterBackend]
class MyTicketViewSet(viewsets.ModelViewSet):
queryset = Ticket.objects.all()
serializer_class = TicketSerializer
def get_queryset(self):
user = self.request.user
return Ticket.objects.filter(userID=user)
Мой urls.py
router = DefaultRouter()
router.register('ticket', TicketViewSet)
router.register('myticket', MyTicketViewSet)
urlpatterns = [
path('', include(router.urls)),
]
Меня смущает то, что более сложные вызовы axios работают, например, этот ниже, который правильно определяет userid только из вызова axios:
const getMyTickets = async function () {
try {
let res = await axios.get("http://127.0.0.1:8000/api/myticket/");
return res.data;
} catch (err) {
console.error(err);
return err;
}
};
Что я делаю неправильно? Любая помощь будет спасителем жизни!