Shruti Srivastava
Shruti Srivastava

Reputation: 398

How can I send authentication token in header of a POST request from Django Template

I have an API call working fine on:

curl -H "Content-Type: application/json" -H "Authorization: Token d070b44498fd12728d1e1cfbc9aa5f195600d21e" http://localhost:8000/api/subscribers/

It gives me the list of all subscribers. I want to create a Django template to send the request to subscribers. I am not able to send:

 -H "Authorization: Token d070b44498fd12728d1e1cfbc9aa5f195600d21e"  

from my template.

Upvotes: 1

Views: 3675

Answers (3)

Savad KP
Savad KP

Reputation: 1654

Ajax is one of the simple ways to do an API call from django template. See the example below.

$.ajax({
    type: 'GET',
    url: 'http://localhost:8000/api/subscribers/',
    headers: {'Authorization': 'Token d070b44498fd12728d1e1cfbc9aa5f195600d21e'},
    success:function(response) {
      // on success
    },
    error: function() { 
      // on error
    }
});

In angularJs we can call API using $http. See the example below,

$http.get("http://localhost:8000/api/subscribers/",
         {headers: {'Authorization': 'Token d070b44498fd12728d1e1cfbc9aa5f195600d21e',
                    'Content-Type':'application/json'}
         }).then(function(response) {
                // on success
         },
         function(data) {
               // on error
         });

Upvotes: 0

Pranjal
Pranjal

Reputation: 508

Why don't you use AJAX to send this? Call the JS function whenever you want to make the request.

                        $.ajax({
                            type: "POST",
                            url: url,
                            headers: {
                                'Token': 'your_token_here'
                            },
                            data: {
                                'body': 'value'
                            }
                        }).done(function (data) {
                            console.log("API call successfull : ", data);
                        });

Upvotes: 0

Shruti Srivastava
Shruti Srivastava

Reputation: 398

import requests
headers={'Content-Type':'application/json', 'Authorization':'Token d070b44498fd12728d1e1cfbc9aa5f195600d21e'}
r = requests.get('http://localhost:8000/api/subscribers/', headers=headers)

Upvotes: 1

Related Questions