Я полностью новичок в Django (из фона Node / Express). Мне нужно позвонить в API, который использует базовую c авторизацию.
Чтобы делать запросы, я использую модуль запросов, но я не знаю, где передавать аутентификационные заголовки. В Ax ios я обычно устанавливаю заголовки по умолчанию следующим образом:
import axios from 'axios'
const token = `Basic ${Buffer.from(`${process.env.API_USERNAME}:${process.env.API_PASSWORD}`).toString('base64')}`;
axios.defaults.baseURL = process.env.API_URL;
axios.defaults.headers.common['Authorization'] = token;
Мой сервис в Django:
from base64 import b64encode
import requests
import environ
environ.Env.read_env()
endpoint = 'some url'
credentials = f"{env('API_USERNAME')}:{env('API_PASSWORD')}"
encodedCredentials = str(b64encode(credentials.encode("utf-8")), "utf-8")
auth = f'"Authorization": "Basic {encodedCredentials}"'
def get_api_data():
return requests.get(endpoint).json()
Как мне передать заголовки?