che sto cercando di scrivere un sito Django in cui gli URL API sono gli stessi URL user-facing. Ma ho problemi con le pagine che usano le richieste POST e la protezione CSRF. Per esempio, se ho una pagina/pippo/aggiungi Voglio essere in grado di inviare le richieste POST ad esso in due modi:Come posso disabilitare la protezione csrf di Django solo in alcuni casi?
- Come utente finale (autenticato utilizzando un cookie di sessione) presentazione di un modulo. Ciò richiede la protezione CSRF.
- Come client API (autenticato utilizzando una richiesta HTTP). Questo fallirà se la protezione CSRF è abilitata.
Ho trovato vari modi per disabilitare CSRF, come @csrf_exempt, ma tutti lo disabilitano per l'intera vista. C'è un modo per abilitarlo/disabilitarlo a un livello più fine? O devo solo implementare la protezione CSRF da zero?
Hai controllato [documenti di protezione csrf] (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/)? – machaku
Avevo letto un po 'di esso, ma chiaramente non ho letto tutti gli Scenari. Grazie! – lucas