小编oz1*_*z19的帖子

反应管理员 | 无法使用 FileInput 上传文件

第一次使用React-Admin。我正在使用它来创建一个面板,该面板基本上监控我从 API 获得的一些参数。但是,有一个部分需要上传 .csv 文件。我正在尝试使用FileInput实现它,但我无法捕获该文件。我不明白该怎么做。

文件选择步骤(从电脑到浏览器)工作正常,但我的问题是在该步骤之后我无法处理文件。我阅读了文档,但我不知道该怎么做。我尝试了很多不同的方法,但我快疯了。

下面是基本代码。我想我必须添加一个处理程序或类似的东西,但是,如何?我对 React 的经验也很少。我知道基础知识,但我只是构建了几个(超级)简单的应用程序。仅供学习。

// UploadFile.js
...

export const UploadSection = props => (
    <SimpleForm>
        <FileInput source="csvFile" label="Upload file (.csv)" accept="text/csv" >
            <FileField source="src" title="title" />
        </FileInput>
    </SimpleForm>
);


// App.js
...

const App = () => (
    <Admin dataProvider={dataProvider} authProvider={authProvider} >
        ...
        <Resource name="uploadSection" list={UploadSection} />
        ...
    </Admin>
);
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 如何捕获 .csv 文件?

提前致谢!

admin-on-rest react-admin

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

使用版本控制时 drf-spectaulous 不起作用(规范中未定义任何操作!)

几周前我安装了drf-spectacular. 一切正常,直到我在 DRF (Django Rest Framework)中启用版本控制。

我实施了AcceptHeaderVersioning并且它工作正常。但后来我意识到 Swagger 没有显示 /docs/ 处的端点,并且显示了这条消息:“规范中没有定义操作!”

如果我DEFAULT_VERSIONING_CLASSREST_FRAMEWORK设置中注释行,所有端点都会正确显示在 Swagger 文档页面 (/docs/) 中。但是,它破坏了我的版本控制:request.version = None.

我用AcceptHeaderVersioning、 以及URLPathVersioning和进行了测试NamespaceVersioning。他们所有人的结果都是一样的。

我读到这AcceptHeaderVersioning是一年前实施的。链接到此处的提交。

但我还了解到计划更改modify_for_versioning功能并且可能会影响标头版本控制。链接到管道模块中的功能,此处和对话此处。事实上,去年对该模块进行了很多更改,请查看此处

这些是我的 DRF 设置:

REST_FRAMEWORK = {
    # Auth
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],

    # Swagger/docs
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',

    # Pagination
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 5,

    # Testing
    'TEST_REQUEST_DEFAULT_FORMAT': 'json',

    # …
Run Code Online (Sandbox Code Playgroud)

versioning django-rest-framework drf-spectacular

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

无服务器框架 - AWS Lambda 依赖项超出限制

我正在使用 AWS(一种呼叫中心,使用 Twilio)参与一个无服务器项目。我之前还建过另外 2-3 个小项目。不过,我现在正在使用无服务器框架。到目前为止我还没用过。所以我在 AWS 和 Serverless 方面都是新手。

我以某种方式关注下一个链接: https://serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/

所以我基本上使用这个Python依赖项:Flask、Twilio、boto3(用于AWS)。请参阅下面的requirements.txt。我卸载了一些软件包,但是可能有一些我可以清理的软件包:

boto3==1.9.84
botocore==1.12.84
certifi==2018.11.29
chardet==3.0.4
Click==7.0
docutils==0.14
Flask==1.0.2
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10
jmespath==0.9.3
lazy-object-proxy==1.3.1
MarkupSafe==1.1.0
pipdeptree==0.13.2
PyJWT==1.7.1
PySocks==1.6.8
python-dateutil==2.7.5
pytz==2018.9
requests==2.21.0
s3transfer==0.1.13
six==1.12.0
twilio==6.23.1
urllib3==1.24.1
Run Code Online (Sandbox Code Playgroud)

使用无服务器框架,我能够毫无问题地部署(无服务器部署)项目,直到安装了 boto3。但是,现在我超出了允许的依赖项大小并收到此错误:

An error occurred: AppLambdaFunction - Unzipped size must be smaller than 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
Run Code Online (Sandbox Code Playgroud)

我被困在这个问题上。我想我可以用旧的方式解决它,而不使用无服务器框架(直接在AWS中),但我非常希望解决这个问题。

是否可以部分安装boto3?我的意思是,一种只安装我需要的模块的方法。

还有其他想法吗?

提前致谢。

python pip amazon-web-services aws-lambda serverless-framework

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