ImageFieldをテストするための簡単なdjangoアプリケーションを作成しましたが、upload_toが動作しないような問題が発生しています。私が持っている私のsettings.pyでdjango imagefield upload_toはまったく動作しません
1 from django.db import models
2
3 # Create your models here.
4 class TestImage(models.Model):
5 img = models.ImageField(max_length=256, upload_to='images')
:あなたから見ることができるように
[email protected]:~/workspace/testimage$ ./manage.py shell
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import settings
>>> from image_app.models import TestImage
>>> p = TestImage(img='test.jpg')
>>> p.save()
>>> p.img.name
'test.jpg'
>>> p.img.path
u'/home/jchin/workspace/testimage/static/test.jpg'
>>> p.img.url
'/media/test.jpg'
:次に
2 from os.path import dirname, join, abspath
3 __dir__ = dirname(abspath(__file__))
50 MEDIA_ROOT = join(__dir__, 'static')
55 MEDIA_URL = '/media/'
私はmanage.pyを使用してPythonシェルを起動し、以下のコードであります結果、djangoは私の 'upload_to'パラメタを完全に無視しました。私はそれがなぜ分かりませんか。ドキュメントから私はp.img.pathが "/home/jchin/workspace/testimage/static/images/test.jpg"と "images/test.jpg"を格納しているDBを返すことを期待していますか?しかし、DBはファイル名だけを保存するだけです:
mysql> select * from image_app_testimage;
+----+-----------+
| id | img |
+----+-----------+
| 1 | test.jpg |
+----+-----------+
1 rows in set (0.00 sec)
私はすべての文書をチェックして、私が間違っていることを見つけることができませんでした。誰でもアイデアはありますか?私はdjango 1.2.5を使用していて、upload_toをサポートする必要があります。
助けてください! John
アップロードの仕組みについていくつかのコードスニペットを付けることはできますか? – pinghsien422
アップロードは私が間違っているように、外のジャンゴの世話を取ると思った。 – pinghsien422
この回答のコードサンプルやリンクは非常に役に立つ.....役に立つ –