어제 수정한 코드를 바탕으로
get요청 시 게시글 id를 확인할 수 있게 직렬화 필드에 id 추가 후 테스트 해봤다
// test example JSON format
// id = 게시글 id
// writer = writer_id (작성자 id 유저 외부키 참조)
{
"id": 4,
"created_at": "2023-05-25T01:51:58.947415+09:00",
"updated_at": "2023-05-25T12:36:07.703620+09:00",
"db_status": 1,
"title": "testttttttt",
"content": "testt",
"image": null,
"media": null,
"sound": null,
"writer": 2
}
articles에서 image파일을 받아오도록 프론트엔드 fetch api 테스트를 postman으로 할 수 있단걸 알게 되었다. 간단하게 data format을 form-data로 변경해주면 되는데, 서버를 연결하고 프론트와 연결했을 때 JSON format으로 이미지 파일을 주고 받으려면 어떻게(?) 해야할지 궁금해졌다.
Django settings 설정에서 미들웨어의 동작을 구성한다. 다음 세 가지 설정 중에서 하나 이상을 지정해야 한다 적혀있다.
CORS_ALLOWED_ORIGINS
CORS_ALLOWED_ORIGIN_REGEXES
CORS_ALLOW_ALL_ORIGINS
. . .
등 등 등
마주한 오류는 유저 인증쪽 기능의 담당이 계셔서 정확히는 알 수 없지만,
유저 인증부분은 항상 관심있는 부분이었고 지난주에 틈틈히 공부해왔다가
오류 코드를 마주치게 되었다.
Access to fetch at 'http://127.0.0.1:8000/users/dj-rest-auth/logout/' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.
"TypeError: Failed to fetch and CORS"
에러가 났을 때, 확인해야 할 부분
CORS_ALLOW_HEADERS: Sequence[str]
The list of non-standard HTTP headers that you permit in requests from the browser. Sets the Access-Control-Allow-Headers header in responses to preflight requests. Defaults to:
CORS_ALLOW_HEADERS = (
"accept",
"authorization",
"content-type",
"user-agent",
"x-csrftoken",
"x-requested-with",
)
The default can be imported as corsheaders.defaults.default_headers so you can extend it with your custom headers. This allows you to keep up to date with any future changes. For example:
from corsheaders.defaults import default_headers
CORS_ALLOW_HEADERS = (
*default_headers,
"my-custom-header",
)
확인하고 CORS_ALLOWED_ORIGINS
= authorization? 기입해주고 에러 해결