Я использую django-rest-framework для моего API. Чтобы отправлять данные в мой API, пользователь должен сначала войти в систему со своими учетными данными.
В командной строке проводки выглядит примерно так:
curl -X POST http://127.0.0.1:8000/snippets/ -d "code=print 789" -u username:password
{"id": 5, "owner": "tom", "title": "foo", "code": "print 789", "linenos": false, "language": "python", "style": "friendly"}
Теперь я пытаюсь опубликовать данные с angularjs. Вот код:
$http.post('http://localhost:8000/snippets/', self.newSnippet)
.then(fetchSnippets())
.then(function (response) {
self.newSnippet = {};
})
Конечно, это не позволило мне опубликовать эти данные, так как я не входил.
Вопрос:
Как отправить учетные данные пользователя с этим $ http.post как я сделал с завитком в командной строке (-u имя пользователя: пароль)?
попробуйте django-swagger, чтобы проверить ваш отдых-api –
Аутентификация в среде REST требует особого внимания. Взгляните на документ DRF: http://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/. Вы также можете напрямую вызвать окно входа в систему, если этот API доступен на вашем сервере (https://docs.djangoproject.com/en/1.7/topics/auth/default/#how-to-log-a-user-in) –