2 docker 个容器(Django 和 React),同构获取和一个登录请求

2 docker containers (Django & React), isomorphic-fetch and a login request

我的设置是 运行 在 Docker 上,有一个前端 (React) 和一个后端 (Django) 容器。

我在另一个项目中使用下面的 drf-react-app 的登录表单组件,但我对 loginUser 操作创建者中的 api 获取请求如何无能为力(src/actions/user .js) 知道应该使用哪个 URL..?

user.js:22 POST http://localhost:3000/api/obtain-auth-token/ 404 (Not Found)

我希望它将请求发送到端口 8000 的服务器。我从这个 drf-react 样板中获取了代码:https://github.com/moritz91/drf-react-login

export function loginUser(username, password) {
    return (dispatch, getState) => {

        const payload = {username, password};

        dispatch({type: LOGIN_USER_REQUEST, payload});

        return fetch(`/api/obtain-auth-token/`, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(payload)
        })
        .then(handleResponse(dispatch, LOGIN_USER_RESPONSE))
        .then((json) => {
            saveUser(json);
            return json;
        })
        .catch(handleError(dispatch, LOGIN_USER_RESPONSE))
    }
}

我错过了什么?

在您的 package.json 中,您将 proxy 属性 设置为 "http://backend:8000"。当您向本地服务器http://localhost:3000 发出请求时,代理用于将请求重定向到给定的url。因此,如果这不起作用,那么您可能缺少启用代理的步骤。