Ошибка получения csrf токена

Для установки фотографии пользователя использую бота тг, который должен отправлять фото через post, но сталкиваюсь с проблемой получения csrf токена, словарь попросту пустой.

def download():
    URL = 'http://127.0.0.1:8000/'
    URL2 = 'http://127.0.0.1:8000/admin/login/'
    URL3 = 'http://127.0.0.1:8000/download-photo/'
    client = requests.session()
    client.get(URL)
    csrftoken = client.cookies['csrftoken']
    
    login_data = dict(csrfmiddlewaretoken=csrftoken)
   

    files = {"FileUpload1": ("test.jpg", open("test.jpg", "rb"))}
    r = client.post(URL3, files=files, data=login_data)

А зачем ему в куках быть? Обычно он на странице в соотв. скрытом инпуте формы и/или в какой-нибудь переменной JS.

Скачал расширение для просмотра куков, он там был. Но еще пробовал так, но все равно ничего

client = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'http://127.0.0.1:8000/'

soup = BeautifulSoup(client.get(url).text, "html.parser")
csrf = soup.find(name="csrf")
print(csrf)

Ну тут надо для начала посмотреть что в

Там спарсенная html страница

Так а csrf там есть?
Если да, то видимо что-то не так с парсингом. Например, не то имя поля.

csrf там нет, я пробовал брать csrf из браузера(через расширение), но джанго все равно выдает ошибку:

Forbidden (CSRF cookie not set.): /download-photo/

А куда делся?)
Может просто форм нет на этой странице?

ну его там и не было). Но все же, почему когда я указываю свой csrf токен, который у меня в браузере - все равно ошибка

Может не так указан, или к сессии привязан и нужны остальные куки.

А не приходит он видимо потому что

и
Cross Site Request Forgery protection | Django documentation | Django

If your view is not rendering a template containing the csrf_token template tag, Django might not set the CSRF token cookie. This is common in cases where forms are dynamically added to the page. To address this case, Django provides a view decorator which forces setting of the cookie: ensure_csrf_cookie().