Я пытаюсь получить доступ к своему API-интерфейсу DRF и пытаюсь пройти аутентификацию на своем API, но я не могу опубликовать свое имя пользователя / пароль (Данные), поскольку я получаю ошибку HTTP 403 до того, как получаю Запрещенный (файл cookie CSRF не set.) ошибка, затем я изменил свое представление на представление класса DRF, теперь я застрял на этой ошибке, не в состоянии что-либо POST в мой API
ЗАПРОСЫ (вне проекта Джанго)
payload = {'username': 'user', 'password': '****'}
r = requests.get('http://website/api/login/', data=payload)
URLs
app_name = 'api'
urlpatterns = [
url(r'^login/$', views.login_to_api.as_view(), name = "login_to_api"),
Просмотры
class CustomerListAPIView(generics.ListAPIView):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
class CustomerRetrieveAPIView(generics.RetrieveAPIView):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
class login_to_api(APIView):
def post(self, request):
if request.method == "POST":
(logic)
HTML
<form id="login-form" method="post" action="{% url 'api:login_to_api' %}" >
{% csrf_token %}
<table class="table">
<tr>
<td><label >Username</label></td>
<td><input id="username" name="username" type="text" class="form-control"></td>
</tr>
<tr>
<td><label >Password</label></td>
<td><input id="password" name="password" type="password" class="form-control"></td>
</tr>
{%csrf_token%}
</table>
<input type="submit" value="Login" class="btn btn-primary pull-right" />
Настройки
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
#'rest_framework.authentication.SessionAuthentication',
)#,'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', )
}
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Любая помощь будет принята с благодарностью