当我按下可浏览api中的登录按钮时,它应该显示Django REST框架登录页面,但是没有。 我收到了以下HTTP响应:“ GET / api-auth / login /?next = / api-auth / login / HTTP / 1.1” 200 5415
基本URLs.py:
urlpatterns = [
path('', include('RunKeeper.urls')),
path('api-auth/', include('rest_framework.urls')),]
rest-framework URLs.py:
from __future__ import unicode_literals
from django.conf.urls import url
from django.contrib.auth import views
template_name = {'template_name': 'rest_framework/login.html'}
app_name = 'rest_framework'
urlpatterns = [
url(r'^login/$', views.LoginView.as_view(), template_name, name='login'),
url(r'^logout/$', views.LogoutView.as_view(), template_name, name='logout'),
我已将其余框架包含在已安装的应用程序中。
我该如何解决问题
答案 0 :(得分:0)
在DEFAULT_AUTHENTICATION_CLASSES类中添加BasicAuthentication和SessionAuthentication类,如下所示。
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
以及以下网址格式
urlpatterns = [
url(r'^login/$', views.LoginView.as_view(template_name='rest_framework/login.html'), name='login'),
url(r'^logout/$', views.LogoutView.as_view(), name='logout'),
]
为什么在logoutView中有登录模板? 也将其删除。