Django-Storages为Django提供了一个S3文件存储后端.它列出
AWS_ACCESS_KEY_ID并AWS_SECRET_ACCESS_KEY作为必要的设置.如果我使用AWS实例配置文件提供S3访问而不是密钥对,我该如何配置Django-Storages?
我有一个公共 AWS API 网关。
我在与该 API 网关位于同一区域的 VPC 中有一台服务器。服务器无法访问该 API 网关的端点。对网关的请求挂起并超时。服务器可以访问同一个AWS账户其他区域的API网关就好了。
其他地域的VPC中的服务器可以正常访问API网关。我的本地计算机可以正常访问网关。唯一不能访问网关的是同一地区的服务器。
到底是怎么回事?
在一个发送电子邮件的简单示例中:
import smtplib
from email.mime.text import MIMEText
message = MIMEText("test message")
s = smtplib.SMTP('localhost')
s.sendmail("example@example.com", ["example@example.com"], message)
Run Code Online (Sandbox Code Playgroud)
我从代码的最后一行收到以下错误:
TypeError:期望的字符串或缓冲区
我究竟做错了什么?
Python 3.8引入了“海象运算符”:=来进行赋值表达式。我认为他们考虑过使用该关键字as但拒绝了。是否存在as阻止将其用于赋值表达式的现有语法情况?
要使用 Python 文档中的示例:
# Actual Python 3.8 syntax
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
# Why not this?
if (len(a) an n) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
Run Code Online (Sandbox Code Playgroud)
这是另一个例子:
# Actual Python 3.8 syntax
while (block := f.read(256)) != '':
process(block)
# Why not this?
while f.read(256) as block:
process(block)
Run Code Online (Sandbox Code Playgroud) python ×2
amazon-s3 ×1
amazon-vpc ×1
boto3 ×1
django ×1
python-3.8 ×1
python-3.x ×1
python-assignment-expression ×1
smtp ×1
smtplib ×1