Как использовать django_csrf для мобильного приложения

Я пишу мобильное приложение для сайта Django. я понимаю, что каждая форма в django имеет ключ токена CSRF для защиты. Когда для навигации по сайту используется браузер, сервер отображает ключ для пользователя.

Что меня смущает, так это мобильное приложение, нам не нужно просматривать слой presetation с сайта. Я просто хочу сделать HTTP-пост для отправки данных. Я знаю, что могу использовать csrf_exempt отключить CSRF для этой формы. или я могу сделать другое представление для рендеринга токена csrf для меня, но в этом случае мне нужен дополнительный анализ и http-запрос. так есть ли лучший способ сделать это?

Спасибо за ваше время

1 ответ

Решение

Если ваше мобильное приложение отображает шаблон, вы можете добавить {% csrf_token %} в шаблон, который отображает форму. Если вы не используете форму и вместо этого просто публикуете данные, вы можете создать токен, как указано выше, а затем просто опубликовать его значение вместе с данными. И если вы не используете шаблон для создания разметки мобильного приложения, используйте csrf_exempt (например, если вы просто периодически отправляете данные на сервер).

Очевидно, что для обработки опубликованных данных должно быть представление, но даже если вы используете универсальное представление для этого, вы все равно можете обернуть это представление (например, в свой urls.py) и использовать csrf_exempt.

Другие вопросы по тегам