小编Tim*_*win的帖子

nginx proxy_pass到链接的docker容器

我有两个带nginx的docker容器.container1链接到container2.Docker然后在/ etc/hosts中添加一个条目,我将其输入到nginx配置中,如下所示:

server {
    location ~ ^/some_url/(.*)$ {
        proxy_pass http://container1/$1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以从container2 ping 容器1,但是nginx无法解析它:

*1没有定义解析容器1的解析器

我怎样才能将请求委托给另一个docker容器?

reverse-proxy nginx docker

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

带有 SQLAlchemy 的 Postgres 中的枚举数组

在过去的一年里,我一直在使用一系列带有 postgres 和 SQLAlchemy 的枚举,如下所示:

class MyModel(BaseModel):
    enum_field = Column(postgresql.ARRAY(EnumField(MyEnum, native_enum=False)))
Run Code Online (Sandbox Code Playgroud)

EnumField来自sqlalchemy_enum34库,这是一个围绕内置枚举的小包装器,它使用 Python 枚举作为 Python 表示而不是字符串。

尽管文档说不支持枚举数组,但我想它有效,因为我选择了“native_enum=False”。最近我发现它不再工作了,我认为这是由于从 SQLA 1.0 升级到 1.1,但我不确定。

问题是,它生成了无效的 DQL:

CREATE TABLE my_model (
    enum_field VARCHAR(5)[3] NOT NULL CHECK (contexts IN ('ONE', 'TWO', 'THREE'))
)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

ERROR:  malformed array literal: "ONE"
DETAIL:  Array value must start with "{" or dimension information.
Run Code Online (Sandbox Code Playgroud)

知道如何取回枚举数组吗?
顺便说一句:当它工作时,实际上没有创建 CHECK 约束,只是一个变化的数组。只要我可以在我的 Python 代码中使用枚举,我就可以接受(例如query.filter(enum_field==MyEnum.ONE)

python arrays postgresql enums sqlalchemy

6
推荐指数
2
解决办法
3359
查看次数

OSX上没有名为_scproxy的模块

我在预装了python 2.6的OSX 10.6上,想通过easy_install或setup.py(在下载的软件包中)安装python软件包.在我的情况下,我正在尝试安装MySQLdb.在这两种情况下,我得到一个堆栈跟踪,结束如下:

...
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/command/easy_install.py", line 21, in <module>
    from setuptools.package_index import PackageIndex, parse_bdist_wininst
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/package_index.py", line 2, in <module>
   import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
File  "/System/Library/Frameworks/Python/framework/Versions/2.6/lib/python2.6/urllib2.py", line 111, in <module>
   from urllib import (unwrap, unquote, splittype, splithost, quote,
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py", line 1335, in <module>
   from _scproxy import _get_proxy_settings, _get_proxies
ImportError: No module named _scproxy
Run Code Online (Sandbox Code Playgroud)

python安装是未修改的预安装版本2.6.1,除了我将源文件添加到lib文件夹."查找/System/Library/Frameworks/Python.framework/-name scproxy "不会产生任何结果.

如何安装缺少的模块?

python macos osx-snow-leopard

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

CSS伪元素的动画不起作用

我正在尝试旋转 a 伪元素,但是,虽然动画在其他元素上完美运行,但伪元素不会移动。

HTML:

<div class="spinning">
    some content
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}

.spinning::before {
  content: 'x';
  animation: spin 2s infinite linear;
}
Run Code Online (Sandbox Code Playgroud)

jsfiddle: https://jsfiddle.net/7x0tasnh/

将动画规则应用到div作品中,::before它不起作用。我错过了什么?

css

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

Typescript 不发出装饰器元数据

我有一个打字稿项目,想检查一些对象。所以我安装reflect-metadata、启用experimentalDeoratorsemitDecoratorMetadatatsconfig.json. 然后我有这个代码:

import 'reflect-metadata';
class Bla {
    thing: string;
}
console.log(Bla, Reflect.getMetadata('design:type', Bla, 'thing'));
Run Code Online (Sandbox Code Playgroud)

它输出undefined. 我希望得到String或其他东西。另外,编译后的 Javascript 如下所示:

var Bla = /** @class */ (function () {
    function Bla() {
    }
    return Bla;
}());
console.log(Bla, Reflect.getMetadata('design:type', Bla, 'thing'));
Run Code Online (Sandbox Code Playgroud)

没有用于设置元数据的代码。有趣的是,在我添加自定义装饰器时,我看到了用于设置元数据的代码:

function deco(target, key) { }
var Bla = /** @class */ (function () {
    function Bla() {
    }
    __decorate([
        deco,
        __metadata("design:type", String)
    ], Bla.prototype, "thing", void 0);
    return Bla; …
Run Code Online (Sandbox Code Playgroud)

typescript reflect-metadata

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