小编kid*_*n01的帖子

除非路径是绝对路径,否则引用Flask应用程序中的目录不起作用

我将nltk数据下载到我的Flask应用程序的数据目录中.视图位于与数据目录相同级别的另一个目录中的蓝图中.在视图中,我正在尝试设置数据的路径,但它不起作用.

nltk.data.path.append('../nltk_data/')
Run Code Online (Sandbox Code Playgroud)

这不起作用.如果我使用整个路径,它确实有效.

nltk.data.path.append('/home/username/myapp/app/nltk_data/')
Run Code Online (Sandbox Code Playgroud)

为什么第一种形式不起作用?如何正确引用数据的位置?

python nltk flask

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

如何从Docker容器连接到本地Redis服务器

我正在尝试从Docker容器内部连接到机器上的本地Redis服务器。到目前为止,我做了什么:

  • Redis在我的机器上运行(无法通过redis-cli连接到它)
  • 启动了一个交互式docker容器(来自ubuntu镜像)
  • 在容器内安装了“ redis-tool”
  • 尝试通过redis-cli连接到redis:“ redis-cli -h 172.17.0.3 -p 6379”(通过容器内的ifconfig获取IP地址)
  • 收到错误消息,提示“连接被拒绝”

为了建立有效的连接,我没有想到的窍门是什么?我已经尝试在redis.conf中设置“ bind 0.0.0.0”,但这没有任何效果。运行容器时,我也尝试将端口6379转发到6379,但是我收到一条错误消息,指出该地址已被使用。

提前致谢!

redis docker

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

带有 boto3 的 AWS S3 预签名网址 - 签名不匹配

我想为存储桶中的对象创建一个预先签名的 url。我使用以下python代码:

    client = boto3.client(
    's3',
    aws_access_key_id=os.environ['AWS_ACCESS_KEY'],
    aws_secret_access_key=os.environ['AWS_SECRETS_KEY'],
    config=botocore.client.Config(signature_version='s3v4'),
    region_name='eu-central-1'
)
url = client.generate_presigned_url(
    ClientMethod='get_object',
    ExpiresIn=60,
    Params={
        'Bucket': MYBUCKET,
        'Key': MYKEY
    })
Run Code Online (Sandbox Code Playgroud)

然后我将生成的 URL 发送到我的前端。在客户端上,我将使用生成的链接创建一个标签,并在其上使用 click() 方法。这在其他项目中运行良好,但在这里我只收到错误:

The request signature we calculated does not match the signature you provided. Check your key and signing method.
Run Code Online (Sandbox Code Playgroud)

这很奇怪。用户应该拥有所有必要的权限。因为列出我的存储桶中的所有文件工作正常。

有人可以指出我为什么这不起作用的正确方向吗?

编辑

如果这有帮助,我将在前端使用 next.js。

python amazon-s3 amazon-web-services boto3

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

Postgres:即使授予了权限,架构的权限也被拒绝

我正在运行 Postgres 10.4 并且目前感到困惑,因为我似乎无法向另一个角色授予对架构的访问权限。

我想做的事:

我有一个具有一个架构的角色,并希望从另一个角色访问该架构及其表。所以我做了通常的(与其他模式一起工作的):

grant usage on schema myschema to newuser;

grant select on all tables in schema myschema to newuser;
Run Code Online (Sandbox Code Playgroud)

这两个语句都是作为模式的所有者运行的。这样做时我没有遇到任何错误。

当我以新用户身份登录并尝试选择一些数据时:

select * from myschema.table;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

SQL Error [42501]: ERROR: permission denied for schema myschema
Run Code Online (Sandbox Code Playgroud)

我可以看到新用户在“information_schema.role_table_grants”表中具有正确的权限

它还与另一个角色和另一个模式一起工作。我一窍不通。

postgresql grant

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

如何在 Mac 上的 vim 中“更改直到行尾”?

我刚刚遇到了一个奇怪的错误。我是 MacBook 的新手,但不是真正的 vim。我通过自制软件安装了 vim,并从我的 arch linux 机器复制了我的 .vimrc。一切都如我所愿,但是当我想更改到行尾 (ct$) 时,我得到“YR:输入字符:$”...这是什么意思?用 "$" 跳到行尾工作正常,只有当我想更改到行尾时它才会工作。“ct(”例如有效..有什么想法吗?

macos vim

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

使用RegEx在Javascript中将重复数字(相同的数字)恰好匹配两次

我目前正在尝试匹配重复的数字,到目前为止,我已经得到了这个:

pattern = /(\d){2}/
Run Code Online (Sandbox Code Playgroud)

但是当我用任意长度> = 2的数量测试这个模式时,它将返回true.我想要找到的是:当我测试数字12344时,它应该返回true,如果数字是12345,它应该返回false.但是拥有12444的数字也应该返回false.我想找到重复两次相同的数字.

编辑:感谢任何人提出解决方案!

javascript regex

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

如何使用外键替换其值来构建 API 端点?

我目前正在使用 Flask、SQLAlchemy 和 Marshmallow 构建 API。我有一个相当简单的数据库模型,如下所示:

class Transaction(db.Model):
    #Transaction Model
    __tablename__ = 'transactions'
    id = db.Column(db.Integer, primary_key = True)
    created_at = db.Column(db.DateTime, default=datetime.datetime.now)
    date = db.Column(db.DateTime)
    description = db.Column(db.Text)
    amount = db.Column(db.Float)
    category_id = db.Column(db.Integer, db.ForeignKey('categories.id'))
    category = db.relationship('Category', uselist=False, lazy='select')
    sub_category_id = db.Column(db.Integer, db.ForeignKey('sub_categories.id'))
    sub_category = db.relationship('SubCategory', uselist=False, lazy='select')
    account = db.Column(db.Integer, db.ForeignKey('accounts.id'))
    inner_transfer = db.Column(db.Boolean)



class Category(db.Model):
    __tablename__ = 'categories'
    id = db.Column(db.Integer, primary_key = True)
    category = db.Column(db.String(64), unique = True)
    transaction = db.relationship('Transaction')
Run Code Online (Sandbox Code Playgroud)

我的棉花糖架构如下所示:

class CategorySchema(ma.ModelSchema): …
Run Code Online (Sandbox Code Playgroud)

api-design flask flask-sqlalchemy marshmallow

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