小编Mun*_*erg的帖子

Knexfile不读取环境变量?

我正在使用 docker 和 knex 构建节点/快速服务进行数据库交互。我有一个env_file(在 docker-compose 文件中定义)定义了一些环境变量。该应用程序正在正确读取它们,因为 aconsole.log(process.env.DATABASE_USER);将记录正确的值。

我按照 knex 文档设置了一个 knexfile,如下所示:

module.exports = {
  development: {
    client: 'pg',
    connection: {
      host: process.env.DATABASE_HOST,
      port: process.env.DATABASE_PORT,
      user: process.env.DATABASE_USER,
      password: process.env.DATABASE_PASSWORD,
      database: process.env.DATABASE_NAME_DEV,
    },
    migrations: {
      directory: __dirname + '/db/migrations',
    },
    seeds: {
      directory: __dirname + '/db/seeds',
    },
  },
};
Run Code Online (Sandbox Code Playgroud)

如果我将这些值硬编码到 knexfile 中,一切都很好。我可以连接到数据库、运行迁移等。

当我使用环境变量(如上)时,它们返回未定义。这是为什么?

更新:

我的 docker compose 文件api.env只是一个基本的 .env 文件:

version: '3.3'

services:
  db:
    container_name: db
    build:
      context: ./services/api/src/db
      dockerfile: Dockerfile
    ports:
      - 5435:5432
    environment: …
Run Code Online (Sandbox Code Playgroud)

migration command-line-interface node.js docker knex.js

5
推荐指数
2
解决办法
6838
查看次数

如何在单独的 React 应用程序中从 django 获取 CSRF

研究了 CSRF 令牌和 django 后,很明显,React 应用程序必须通过 django 渲染才能正常检索 CSRF 令牌(即注入到 DOM 中)

据我所知,我对此有异议的唯一原因是 Instagram 的 Web 应用程序使用了 Django 和 React;我发现它极不可能由 django 渲染——至少以传统方式渲染。

我意识到很难找到他们如何处理它的答案,但也许有人知道一种方法,无需使用 django 渲染非常大的企业级 React 应用程序即可实现此目的。

为了提供一些视角,我们的 React 应用程序位于与 django 支持的 API 不同的子域上的单独存储库和目录中。

我们已经在我能想到的每个领域寻求了建议,但尚未找到合适的解决方案,因此我感谢您提供的任何反馈

django csrf reactjs

5
推荐指数
1
解决办法
1718
查看次数

反应中的真假单选按钮

这是我当前的代码:

我的组件中的状态

this.state = {
            name: '',
            sample: '',
            description: '',
            isPublished: null,

        };
Run Code Online (Sandbox Code Playgroud)

这是单选按钮的处理程序

_handleRadio(event) {
let value = true;
if (typeof event.currentTarget.value === 'string') {
    (event.currentTarget.value === 'true' ? value = true : value = false );
}
this.setState({isPublished: value});
}
Run Code Online (Sandbox Code Playgroud)

最后这是我的单选按钮

<div className="radio">
                        <label><input type="radio" name="isPublished" value="true" onChange={this._handleRadio} />Yes</label>
                    </div>
                    <div className="radio">
                        <label><input type="radio" name="isPublished" value="false" onChange={this._handleRadio} />No</label>
                    </div>
Run Code Online (Sandbox Code Playgroud)

很抱歉格式不正确,将我的代码复制并粘贴到这里并没有那么好。当我试图修复它时,我把它弄得更糟了。

所以现在,状态正在改变,这正是我想要的。但是当我向我的 api 提交并发出 POST 请求时,isPublished 状态返回到 true。

这是我的提交处理程序

_handleSubmit(event) {
        event.preventDefault();
        event.stopPropagation();
        const sampleObj = this.state;
        console.log(sampleObj); …
Run Code Online (Sandbox Code Playgroud)

javascript radio-button reactjs

1
推荐指数
1
解决办法
1万
查看次数