Добавление кнопки входа в Django Rest Framework в просматриваемый API при использовании сторонней библиотеки авторизации (django-rest-knox)
Кнопка входа отсутствует в моем просматриваемом API. Я использую django-rest-knox для аутентификации токенов. Мой urls.py содержит:
urlpatterns = [
path('admin/', admin.site.urls),
path(r'', include(router.urls)),
path('auth/', include('knox.urls'))
]
А чтобы разрешить использование BasicAuthentication в самом представлении входа в систему, я сделал следующее в моем settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'knox.auth.TokenAuthentication',
)
}
Я немного покопался в коде DRF на github, и это тег шаблона:
@register.simple_tag
def optional_login(request):
"""
Include a login snippet if REST framework's login view is in the URLconf.
"""
try:
login_url = reverse('rest_framework:login')
except NoReverseMatch:
return ''
В просматриваемом API кнопка входа показывается только тогда, когда исключение не брошено. Но я не знаю, как получить этот reverseMatch. Могу ли я переименовать URL входа? Или переопределить тег шаблона? Или каким-то другим способом получить кнопку входа? Спасибо.