You will have to either get CSRF token and send it or ignore it completely. csrf_exempt from django.views.decorators.csrf will be helpful. For HttpResponse to returning a json, pass in a stringfied dict.
On Monday, January 22, 2018 at 5:06:35 AM UTC-5, [email protected] wrote: > > The reason why im using this is because i am using integrating 2 different > project. The api call is suppose to call the api from another app. Further > more i also need to save some of the details the was get from both post and > get method > > On Monday, January 22, 2018 at 5:03:18 PM UTC+9, [email protected] wrote: >> >> I seen alot of other solution, tried it but problem still persist. >> >> When i do a requests.get, it works fine but when i'm doing requests.post. >> I got this forbidden (csrf token is missing or incorrect) error. >> >> >> Here is my code >> >> *models.py* >> >> class TestPost(models.Model): >> # reminderId = models.AutoField() >> book = models.CharField(max_length=10, blank=True, null=True) >> author = models.CharField(max_length=10, blank=True, null=True) >> date = models.DateTimeField(blank=True, null=True) >> >> *serializer.py* >> >> class TestPostSerializer(serializers.ModelSerializer): >> # valid_time_formats = ['%H:%M', '%I:%M%p', '%I:%M %p'] >> # time = serializers.TimeField(format='%I:%M %p', >> input_formats=valid_time_formats, allow_null=True) >> date = serializers.DateTimeField(format="%Y-%m-%d %I:%M %p") >> >> class Meta: >> model = TestPost >> fields = ('id', 'book', 'author', 'date') >> >> *views.py* >> >> from django.http import HttpResponseimport requests >> def my_django_view(request): >> if request.method == 'POST': >> r = requests.post('http://127.0.0.1:8000/api/test/', >> params=request.POST) >> else: >> r = requests.get('http://127.0.0.1:8000/api/test/', >> params=request.GET) >> if r.status_code == 200: >> return HttpResponse('Yay, it worked') >> return HttpResponse('Could not save data') >> class TestPostViewSet(viewsets.ModelViewSet): >> permission_classes = [AllowAny] >> queryset = TestPost.objects.all() >> serializer_class = TestPostSerializer >> >> >> I did a POST method on the url of the function but error >> >> >> Forbidden (CSRF token missing or incorrect.): /test/ [22/Jan/2018 >> 16:59:09] "POST /test/ HTTP/1.1" 403 2502 >> >> >> Also, how do i make the HttpResponse to display the json data from my get >> and post method ? >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/a0cc440c-c79d-4b7c-9061-0a9f5f4b61c2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

