我将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)
为什么第一种形式不起作用?如何正确引用数据的位置?
我正在尝试从Docker容器内部连接到机器上的本地Redis服务器。到目前为止,我做了什么:
为了建立有效的连接,我没有想到的窍门是什么?我已经尝试在redis.conf中设置“ bind 0.0.0.0”,但这没有任何效果。运行容器时,我也尝试将端口6379转发到6379,但是我收到一条错误消息,指出该地址已被使用。
提前致谢!
我想为存储桶中的对象创建一个预先签名的 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。
我正在运行 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”表中具有正确的权限
它还与另一个角色和另一个模式一起工作。我一窍不通。
我刚刚遇到了一个奇怪的错误。我是 MacBook 的新手,但不是真正的 vim。我通过自制软件安装了 vim,并从我的 arch linux 机器复制了我的 .vimrc。一切都如我所愿,但是当我想更改到行尾 (ct$) 时,我得到“YR:输入字符:$”...这是什么意思?用 "$" 跳到行尾工作正常,只有当我想更改到行尾时它才会工作。“ct(”例如有效..有什么想法吗?
我目前正在尝试匹配重复的数字,到目前为止,我已经得到了这个:
pattern = /(\d){2}/
Run Code Online (Sandbox Code Playgroud)
但是当我用任意长度> = 2的数量测试这个模式时,它将返回true.我想要找到的是:当我测试数字12344时,它应该返回true,如果数字是12345,它应该返回false.但是拥有12444的数字也应该返回false.我想找到重复两次相同的数字.
编辑:感谢任何人提出解决方案!
我目前正在使用 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) flask ×2
python ×2
amazon-s3 ×1
api-design ×1
boto3 ×1
docker ×1
grant ×1
javascript ×1
macos ×1
marshmallow ×1
nltk ×1
postgresql ×1
redis ×1
regex ×1
vim ×1