小编Rak*_*lam的帖子

从S3检索文件并写入临时文件

我需要能够存储文件,然后访问它来执行芹菜任务。有没有一种方法,当我返回s3_file_path时,可以在临时文件位置下载并存储文件?我看到了key.get_contents_to_filename('some_name'),但实际上并没有达到我的目的。我将返回s3_file_path,然后在另一个函数中执行以celery任务伪代码注释的动作。我目前正在通过使用generate_url()创建过期的URL来对此进行修改,但这并不是我真正想要的。

conn = boto.connect_s3()

# TODO: add test to check for validate=False
bucket = conn.get_bucket(settings.S3_BACKUP_BUCKET, validate=False)
key = Key(bucket)

s3_file_path = os.path.join(
    settings.ENVIRONMENT, location, destination_filename)
key.key = s3_file_path
key.set_contents_from_filename(source_filename)

# celery task code
# bucket.download(s3_file_path, tempfile_name)
# file_obj = open(tempfile_name, 'r')
# import_file(file_obj)
Run Code Online (Sandbox Code Playgroud)

python django sftp amazon-s3

5
推荐指数
0
解决办法
557
查看次数

将字符串数组转换为JavaScript中的数组

我从django-rest-framework api调用中获得了以下项目:

services = "['service1', 'service2', 'service3']"
Run Code Online (Sandbox Code Playgroud)

我想要 services = ['service1', 'service2', 'service3']

在我的JavaScript中,我尝试了services = JSON.parse(services) -什么也没做,也尝试了$.parseJSON(services)

在我的序列化程序中,我尝试将设置服务设置为ListField,也尝试了JSONSerializerField()

class JSONSerializerField(serializers.Field):
    # Adapted from http://stackoverflow.com/a/28200902
    def to_internal_value(self, data):
        return json.loads(data)

    def to_representation(self, value):
        return value
Run Code Online (Sandbox Code Playgroud)

javascript arrays django json

5
推荐指数
3
解决办法
9056
查看次数

从中间件转到 Gin 设置和访问上下文值

我正在尝试在中间件中设置我的用户上下文,然后尝试检查用户是否在其他处理程序函数中具有权限。但是由于某种原因,当我尝试从上下文访问用户时,它返回为 nils。中间件代码似乎正在工作,当我传递有效的 jwt 令牌时,它显示用户正在中间件函数的上下文中设置。但是一旦我点击 getCurrentUser 函数,它就会说它为零。

代码如下:中间件

// Middleware wraps the request with auth middleware
func Middleware(path string, sc *cfg.Server, orm *orm.ORM) gin.HandlerFunc {
    logger.Info("[Auth.Middleware] Applied to path: ", path)
    return gin.HandlerFunc(func(c *gin.Context) {
        t, err := ParseToken(c, sc)
        if err != nil {
            authError(c, err)
        } else {
            if claims, ok := t.Claims.(jwt.MapClaims); ok {
                if claims["exp"] != nil {
                    issuer := claims["iss"].(string)
                    userid := claims["jti"].(string)
                    email := claims["email"].(string)
                    if claims["aud"] != nil {
                        audiences := claims["aud"].(interface{})
                        logger.Warnf("\n\naudiences: %s\n\n", …
Run Code Online (Sandbox Code Playgroud)

rest handler go jwt go-gin

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

标签 统计

django ×2

amazon-s3 ×1

arrays ×1

go ×1

go-gin ×1

handler ×1

javascript ×1

json ×1

jwt ×1

python ×1

rest ×1

sftp ×1