岩下と申します。 私も同じ事ではまっていたのですが、解決しました。 平野さんのソースだと、以下のように書けば動くと思います。
> article.image = cleaned_data["image"] uploadobj = cleand_data["image"] article.image.save( uploadobj.name, uploadobj ) この辺はドキュメントがわかりにくいですよね。 On 6月22日, 午後4:15, "hirano.19841...@gmail.com" <hirano. 19841...@gmail.com> wrote: > はじめまして、平野と申します。 > > Django1.0を使って画像をアップロードする仕掛けを作っています。 > そこで、ImageFieldを用いた画像の保存処理を行わせたいのですが、 > うまくいかず詰まってしまっています。 > > 自分はこうやったよーと言ったアドバイスを頂ければと思い投稿しました。 > 以下、状況となります。 > (http://d.hatena.ne.jp/Lambda_groove/より) > > ======================================================== > > Django1.0を使った画像のアップロードで詰まった。 > > 何がダメだったかまとめてとりあえず対策を調査。 > > どこかが間違っているコード。 > > views.pyの抜粋 > > if request.method == 'POST': > form = ArticleSubmitForm(request.POST, request.FILES) > > if form.is_valid(): > form.full_clean() > cleaned_data = form.cleaned_data > > pub_date = forms.DateTimeField() > cleaned_pub_date = pub_date.clean(datetime.datetime.now()) > > article = Article() > article.subject = cleaned_data["subject"] > article.body = cleaned_data["body"] > article.photo_name = cleaned_data["photo_name"] > article.image = cleaned_data["image"] > article.pub_date = cleaned_pub_date > > article.save() > > views.pyの抜粋の続き > > class ArticleSubmitForm(forms.Form): > subject = forms.CharField(label="タイトル", > max_length=200, > required=True) > > body = forms.CharField(label="本文", > max_length=2000, > widget=forms.Textarea, > required=True) > > photo_name = forms.CharField(label="写真の説明", > max_length=200, > required=True) > > image = forms.ImageField(label="ファイル", > widget=forms.FileInput, > required=True) > > models.py > > from django.db import models > > class Article(models.Model): > subject = models.CharField(max_length=200) > body = models.TextField(max_length=2000) > photo_name = models.CharField(max_length=200) > pub_date = models.DateTimeField("date published") > image = models.ImageField(upload_to="img") > > class Admin: > list_display = ("subject", > "body", > "photo_name", > "pub_date", > "image", > ) > > 状態。 > > 登録処理自体は走る。 > > そして画像がsettings.pyのMEDIA_ROOT/imgに保存されない。 > > ディスクの中身を片っ端から探したがどこにも画像はいない。 > > 保存できてないのに例外すら出ないという事はさておき、 > > バグ取りのとっかかりすらない状態。 > > 対策。 > > * リクエスト側の<input type="file" />から送信されるファイルデータは、必ず<form > enctype="multipart/form-data">から送らせること。基本だが忘れてた。 > * PILはインストールしてあるか?ないとsyncdbした際エラーが吐かれる。ImageFieldを使いたかったのでインストールし > た。 > * A2Cさんのブログのやり方でもダメだった。 > * Vistaだからか?と思いLinux環境でも試したがダメ。 > * piro_sukeさんのブログのやり方だと、必要なライブラリを配布しているサイトが死んでて試せず。 > ======================================================== > > 以上、よろしくお願いします。 --~--~---------~--~----~------------~-------~--~----~ ----------------- http://djangoproject.jp/ ----------------- You received this message because you are subscribed to the Google Groups "django-ja" group. To post to this group, send email to django-ja@googlegroups.com To unsubscribe from this group, send email to django-ja-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-ja -~----------~----~----~----~------~----~------~--~---