python - Django 访问/操作 CreateView 上传
问题描述
我有一个 CreateView 如下:
class SpaceCreateView(CreateView):
model = Space
fields = ['title', 'space_image']
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
我想将 space_image 传递给第 3 方 API 并从那里取回响应。既然我在 CreateView 中设置了这个,我应该怎么做?
解决方案
您可以在基于类的视图中为所需的 3rd 方 API 逻辑定义另一个函数,如下所示:
class SpaceCreateView(CreateView):
model = Space
fields = ['title', 'space_image']
def form_valid(self, form):
form.instance.author = self.request.user
api_response = call_api(self, form)
return (super().form_valid(form), api_response)
def call_api(self, form):
image_to_forward = form.space_image
# 3rd party API Request logic
request_api = [...] # However you have to forward the image to the 3rd party API
response = [...] # Depends on the way the 3rd party API returns the content
return (response)
推荐阅读
- react-native - 带有 TabNavigator 的 StackNavigator
- php - 循环运行直到满足条件,但插入语句仅使用一次
- c# - 如何查找以小写字母开头的所有类属性
- javascript - firebase 仅部署功能出错
- java - 无障碍服务调度手势刷屏不点击
- css - 如何在 PrimeNG 10 中将投影到按钮中的内容居中对齐?
- pine-script - 当我在“strategy.entry()”中使用与“strategy()”中的默认值不同的值时,订单单位不一致
- node.js - NodeJS 表达 json 中的更改值
- javascript - 为什么函数返回未定义?
- c++ - WaitForMultipleObjects() 直到缓冲区已满才会返回,除非我使用 Putty