Używam django-rest-framework. Zapewnia wspaniały interfejs API do samodzielnego dokumentowania w przeglądarce Django. Ale każdy może odwiedzać te strony i używać interfejsu do dodawania danych (POST). Jak mogę go wyłączyć?Jak wyłączyć interfejs przeglądania django-rest-framework w stylu administracyjnym?
Odpowiedz
Wystarczy usunąć renderer API przeglądarki z listy obsługiwanych rendererów dla widoku.
Można to zrobić globalnie tak:
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
)
}
Albo na zasadzie per-view tak:
class MyView(...):
renderer_classes = [renderers.JSONRenderer]
Poza: w wielu przypadkach myślę, że to wstyd, że ludzie w każdym przypadku zdecyduje się wyłączyć interfejs API do przeglądania, ponieważ jest to duża pomoc dla wszystkich programistów pracujących nad interfejsem API, a to nie daje im więcej uprawnień, które w innym przypadku mieliby w stanie uzyskać. Widzę, że mogą być powody biznesowe, aby to zrobić w przypadku niektórych przypadków, ale generalnie uważam to za ogromny atut.
'to duża pomoc dla każdego programisty pracującego nad API". Czy nie powinny mieć plików ustawień dla rozwoju i produkcji? W trakcie rozwoju włącz interfejs API do przeglądania. –
@JacobValenta I * myślę * Tom Christie oznacza, że zewnętrzni programiści korzystający z Twojego API powinni mieć możliwość korzystania z interfejsu API do przeglądania. –
Tak, jak na @DustinWyatt –
Zdjąć 'rest_framework.renderers.BrowsableAPIRenderer',
od 'DEFAULT_RENDERER_CLASSES'
w ustawieniach
Tak, użytkownicy mogą się zalogować i korzystać z API. Ale nie chcę pokazywać im strony do przeglądania w stylu administratora. – iForests
Mam ten sam problem. Jestem zgodnie z rozwiązaniem do zrobienia. To na pewno rozwiąże mój problem. –