###imagekitでの画像アップロードができない。
題目通りです。画像の部分だけ記しますが、imagekitを使うため下記のようなモデルを私は改造しました。
(改造前)
class CustomUser(AbstractUser): icon = models.ImageField(verbose_name='アイコン', upload_to='icon/', default='sugar.png')
(改造後)
class CustomUser(AbstractUser): origin = models.ImageField(verbose_name='アイコン', upload_to='icon/', default='sugar.png') icon = ImageSpecField(source="origin", processors=[ResizeToFill(250, 250)], format='PNG' )
そしてアップロードの実装の部分。私はさくっとUpdateViewを使ってこのように定義しました。
@method_decorator(login_required, name='dispatch') class ProfileSetting(UpdateView): model = get_user_model() form_class = ProfileSettingForm template_name = 'users/profile_setting.html' success_url = reverse_lazy('home') # 作った人のみアクセス化 def get_object(self, *args, **kwargs): return get_user_model().objects.get(pk=self.request.user.pk)
ProfileSettingFormは以下です。(アイコンの部分だけ抜粋しています。)
class ProfileSettingForm(UserChangeForm): # アイコンボタンの文字変える。imgを出す。 icon = forms.ImageField(label='アイコン', required=False, widget=forms.FileInput) class Meta: model = get_user_model() fields = ['username', 'icon', 'description']
しかしこれで画像をアップロードしても、なにも変化が起きませんでした。ディレクトリの構成もCACHEの下に画像が保存されると聞いていたのですが、デフォルトで指定したsugar.pngが謎のimagesディレクトリの下に配置されていました
これはなぜでしょう?imagekitでの画像アップロードするのに見落としている部分が全くわかりません。
なにか間違っているところがありましたら、ご教授願いたいです・・・
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。