2012-08-10 15 views
93

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?

+0

Tak, użytkownicy mogą się zalogować i korzystać z API. Ale nie chcę pokazywać im strony do przeglądania w stylu administratora. – iForests

+0

Mam ten sam problem. Jestem zgodnie z rozwiązaniem do zrobienia. To na pewno rozwiąże mój problem. –

Odpowiedz

164

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.

+18

'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. –

+7

@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. –

+1

Tak, jak na @DustinWyatt –

-1

Zdjąć 'rest_framework.renderers.BrowsableAPIRenderer', od 'DEFAULT_RENDERER_CLASSES' w ustawieniach

Powiązane problemy