something like this? Environment:
Request Method: POST Request URL: http://localhost:8000/admin/StoryWall/statefair/16/ Django Version: 1.2 pre-alpha SVN-11434 Python Version: 2.5.4 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.admin', 'MMprojects.StoryWall'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware') Traceback: File "C:\Python25\lib\site-packages\django\core\handlers\base.py" in get_response 92. response = callback(request, *callback_args, **callback_kwargs) File "C:\Python25\lib\site-packages\django\contrib\admin\options.py" in wrapper 226. return self.admin_site.admin_view(view)(*args, **kwargs) File "C:\Python25\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func 44. response = view_func(request, *args, **kwargs) File "C:\Python25\lib\site-packages\django\contrib\admin\sites.py" in inner 186. return view(request, *args, **kwargs) File "C:\Python25\lib\site-packages\django\db\transaction.py" in _commit_on_success 240. res = func(*args, **kw) File "C:\Python25\lib\site-packages\django\contrib\admin\options.py" in change_view 830. self.save_model(request, new_object, form, change=True) File "C:\Python25\lib\site-packages\django\contrib\admin\options.py" in save_model 557. obj.save() File "C:\Python25\lib\site-packages\django\db\models\base.py" in save 410. self.save_base(force_insert=force_insert, force_update=force_update) File "C:\Python25\lib\site-packages\django\db\models\base.py" in save_base 473. values = [(f, None, (raw and getattr (self, f.attname) or f.pre_save(self, False))) for f in non_pks] File "C:\Python25\lib\site-packages\django\db\models\fields\files.py" in pre_save 252. file.save(file.name, file, save=False) File "C:\Python25\lib\site-packages\django\db\models\fields\files.py" in save 91. self.name = self.storage.save(name, content) File "C:\Python25\lib\site-packages\django\core\files\storage.py" in save 46. name = self.get_available_name(name) File "C:\Python25\lib\site-packages\django\core\files\storage.py" in get_available_name 71. while self.exists(name): File "c:\python25\lib\site-packages\django_storages-1.0-py2.5.egg \backends\s3.py" in exists 105. response = self.connection._make_request('HEAD', self.bucket, name) File "c:\python25\lib\site-packages\django_storages-1.0-py2.5.egg \S3.py" in _make_request 273. self._add_aws_auth_header(final_headers, method, bucket, key, query_args) File "c:\python25\lib\site-packages\django_storages-1.0-py2.5.egg \S3.py" in _add_aws_auth_header 299. "AWS %s:%s" % (self.aws_access_key_id, encode (self.aws_secret_access_key, c_string)) File "c:\python25\lib\site-packages\django_storages-1.0-py2.5.egg \S3.py" in encode 84. b64_hmac = base64.encodestring(hmac.new (aws_secret_access_key, str, sha).digest()).strip() File "C:\Python25\lib\hmac.py" in new 121. return HMAC(key, msg, digestmod) File "C:\Python25\lib\hmac.py" in __init__ 64. if len(key) > blocksize: Exception Type: TypeError at /admin/StoryWall/statefair/16/ Exception Value: object of type 'NoneType' has no len() On Sep 25, 2:54 pm, Brian McKeever <kee...@gmail.com> wrote: > A stack trace would be more useful. > > On Sep 25, 12:07 pm, Nick <nickt...@gmail.com> wrote: > > > I'm using the django-storages backends from David Larlet to upload > > images to s3 from inside the admin. When i try to run everything I > > get an error: > > > object of type 'NoneType' has no len() > > > Here is my model: > > > from django.db import models > > from django.core.files.storage import default_storage as s3_storage > > > class StateFair (models.Model): > > Content_Choices = ( > > ('photo', 'Photo'), > > ('video', 'Video'), > > ('text', 'Text'), > > ('audio', 'Audio'), > > ) > > Name = models.CharField(max_length=30, blank=False, unique=True) > > contentType = models.CharField('Type of Content', max_length=5, > > choices=Content_Choices, blank=True) > > thumbNailUpload = models.ImageField('Thumbnail Upload', > > storage=s3_storage, upload_to='/news', height_field=None, > > width_field=None, max_length=100, blank=True, null=True) > > ThumbNail = models.CharField('Thumbnail Name', max_length=50, > > blank=True) > > imageUpload = models.ImageField('Full Size Image Upload', > > storage=s3_storage, upload_to='/news, height_field=None, > > width_field=None, max_length=100, blank=True, null=True) > > Image = models.CharField('Image name (use jpg, png, etc.)', > > max_length=30, blank=True) > > Cutline = models.TextField('Caption or Cutline', blank=True) > > VideoID = models.IntegerField(max_length=30, null=True, > > blank=True) > > TextBlock = models.TextField('Text Block', blank=True) > > AudioID = models.CharField('Audio FileName', max_length=40, > > blank=True) > > pubDate = models.DateTimeField('updated', blank=True) > > > class Meta: > > ordering = ("?") > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---