zostera / django-bootstrap3

Bootstrap 3 integration with Django.
http://django-bootstrap3.readthedocs.org/
BSD 3-Clause "New" or "Revised" License
2.34k stars 682 forks source link

GeoDjango form fields do not work on Django 1.11 #392

Closed aptiko closed 7 years ago

aptiko commented 7 years ago

Hi,

To illustrate, I've modified the tests to test a GeoDjango form field. The resulting tests run fine on Django 1.10, but they fail on 1.11 with TypeError: type object got multiple values for keyword argument 'geom_type'. Any idea on how to fix that could be useful, as I feel a bit lost.

======================================================================                                                                             [86/3511]
ERROR: test_bound_class (bootstrap3.tests.FormTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/tests.py", line 365, in test_bound_class
    res = render_template_with_form('{% bootstrap_form form %}', {'form': form})
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/tests.py", line 139, in render_template_with_form
    return render_template_with_bootstrap(text, context)
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/tests.py", line 128, in render_template_with_bootstrap
    return render_template("{% load bootstrap3 %}" + text, context)
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/tests.py", line 119, in render_template
    return template.render(context)
  File "/home/anthony/nosync/development/django/django/template/backends/django.py", line 66, in render
    return self.template.render(context)
  File "/home/anthony/nosync/development/django/django/template/base.py", line 207, in render
    return self._render(context)
  File "/home/anthony/nosync/development/django/django/test/utils.py", line 107, in instrumented_test_render
    return self.nodelist.render(context)
  File "/home/anthony/nosync/development/django/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/home/anthony/nosync/development/django/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/home/anthony/nosync/development/django/django/template/library.py", line 203, in render
    output = self.func(*resolved_args, **resolved_kwargs)
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/templatetags/bootstrap3.py", line 330, in bootstrap_form
    return render_form(*args, **kwargs)
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/forms.py", line 45, in render_form
    return renderer_cls(form, **kwargs).render()
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/renderers.py", line 87, in render
    return mark_safe(self._render())
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/renderers.py", line 227, in _render
    return self.render_errors() + self.render_fields()
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/renderers.py", line 193, in render_fields
    bound_css_class=self.bound_css_class,
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/forms.py", line 61, in render_field
    return renderer_cls(field, **kwargs).render()
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/renderers.py", line 87, in render
    return mark_safe(self._render())
  File "/home/anthony/nosync/development/django-bootstrap3/bootstrap3/renderers.py", line 545, in _render
    html = self.field.as_widget(attrs=self.widget.attrs)
  File "/home/anthony/nosync/development/django/django/forms/boundfield.py", line 120, in as_widget
    **kwargs
  File "/home/anthony/nosync/development/django/django/forms/widgets.py", line 220, in render
    context = self.get_context(name, value, attrs)
  File "/home/anthony/nosync/development/django/django/contrib/gis/forms/widgets.py", line 74, in get_context
    **attrs
TypeError: type object got multiple values for keyword argument 'geom_type'
dyve commented 7 years ago

It looks like you may have found a bug that is not detected by the current tests. Could you submit a Pull Request with a failing test?

dbrgn commented 7 years ago

Seems fixed in Django 1.11.1 :)

aptiko commented 7 years ago

Indeed, on 1.11.1 I no longer have the problem.