繁体   English   中英

TypeError:__init __()获得了意外的关键字参数'image_field'

[英]TypeError: __init__() got an unexpected keyword argument 'image_field'

我有诊所的资料,并想为每个诊所添加图片。 我正在尝试使用django-imaging并收到此错误。 我已经按照文档进行了以下操作:

settings.py

INSTALLED_APPS = (
    'm1',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'imaging',

models.py

from imaging.fields import ImagingField

class Clinic(models.Model):
    name = models.CharField(max_length=500)
    slug = models.CharField(max_length=200, unique = True)
    photos = models.ImagingField()

urls.py

url(r'^imaging/', include('imaging.urls')),

然后,我尝试执行syncdb并收到以下错误:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 284, in execute
    self.validate()
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 310, in validate
    num_errors = get_validation_errors(s, app)
  File "/Library/Python/2.7/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 196, in get_app_errors
    self._populate()
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 75, in _populate
    self.load_app(app_name, True)
  File "/Library/Python/2.7/site-packages/django/db/models/loading.py", line 99, in load_app
    models = import_module('%s.models' % app_name)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/Users/harisaghadi/code/meddy Production App/meddy1/models.py", line 10, in <module>
    from imaging.fields import ImagingField
  File "/Library/Python/2.7/site-packages/django_imaging-1.0.0-py2.7.egg/imaging/fields.py", line 6, in <module>
    from imaging.models import Image
  File "/Library/Python/2.7/site-packages/django_imaging-1.0.0-py2.7.egg/imaging/models.py", line 22, in <module>
    class Image(models.Model):
  File "/Library/Python/2.7/site-packages/django_imaging-1.0.0-py2.7.egg/imaging/models.py", line 31, in Image
    options={'quality':90}
TypeError: __init__() got an unexpected keyword argument 'image_field'

这是Django Imaging中的错误; 在他们的跟踪器中查看问题11

django-imagekit已更新,并且image_field kwarg已重命名为source ,这是django-imaging中的一个错误,需要修复。

更名发生在很久以前的 2012年12月。

解决方法是将Django-Imagekit降级到版本2.0.2,这是该字段仍名为image_field的最新版本。 但是,一个从两年半前就尚未维护的用于修复字段重命名的项目可能不值得生产。 问题#11是一年多以前提交的,并且一直没有得到解决。

在您的models.py中,尝试
photos = ImagingField()而不是
photos = models.ImagingField()

请阅读文档https://github.com/pielgrzym/django-imaging

从Imaging.fields将ImagingField添加到所需的模型中。

类Somemodel(models.Model):照片= ImagingField()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM