第一次使用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)
问题:
提前致谢!
几周前我安装了drf-spectacular. 一切正常,直到我在 DRF (Django Rest Framework)中启用版本控制。
我实施了AcceptHeaderVersioning并且它工作正常。但后来我意识到 Swagger 没有显示 /docs/ 处的端点,并且显示了这条消息:“规范中没有定义操作!” 。
如果我DEFAULT_VERSIONING_CLASS在REST_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) 我正在使用 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