Django材料与django智能选择错误

时间:2017-02-01 10:21:33

标签: python django django-smart-selects

我在项目中使用django smart selectdjango material,并从包含

的页面admin \ templates \ material \ fields \ django_relatedfieldwidgetwrapper.html获取'NoneType' object is not subscriptable
{% load material_form material_form_internal material_admin i18n %}

{% admin_related_field_urls bound_field as bound_field_urls %}

<div class="related-widget-wrapper">
{% render bound_field widget=field.widget.widget %}
    {% part field label %}
    <label for="{{ bound_field.id_for_label }}" class="related-widget-label">
        <span style="margin-right:5px">{{ bound_field.label }}</span>
        {% if bound_field_urls.can_change_related %}
        <a class="related-widget-wrapper-link change-related"
           data-href-template="{{ bound_field_urls.change_related_template_url }}?{{ bound_field_urls.url_params }}"
           id="change_id_{{ bound_field.html_name }}"
           title="{% blocktrans %}Change selected {{ bound_field_urls.model }}{% endblocktrans %}">
            <i class="material-icons" style="line-height:16px;font-size:16px">create</i>
        </a>
        {% endif %}
        {% if bound_field_urls.can_add_related %}
        <a class="related-widget-wrapper-link add-related"
           href="{{ bound_field_urls.add_related_url }}?{{ bound_field_urls.url_params }}"
           id="add_id_{{ bound_field.html_name }}"
           title="{% blocktrans %}Add another {{ bound_field_urls.model }}{% endblocktrans %}">
            <i class="material-icons" style="line-height:16px;font-size:16px">add</i>
        </a>
        {% endif %}
        {% if bound_field_urls.can_delete_related %}
        <a class="related-widget-wrapper-link delete-related"
           data-href-template="{{ bound_field_urls.delete_related_template_url }}?{{ bound_field_urls.url_params }}"
           id="add_id_{{ bound_field.html_name }}"
           title="{% blocktrans %}Delete selected {{ bound_field_urls.model }}{% endblocktrans %}">
            <i class="material-icons" style="line-height:16px;font-size:16px">remove</i>
        </a>
        {% endif %}
    </label>
    {% endpart %}
    {% part field help_text %}{% endpart%}
{% endrender %}
</div>

回溯:

...
File "C:\lib\site-packages\django\template\library.py" in render
  203.         output = self.func(*resolved_args, **resolved_kwargs)

File "C:\lib\site-packages\material\admin\templatetags\material_admin.py" in admin_related_field_urls
  296.         'widget': rel_widget.widget.render(bound_field.name, bound_field.value()),

File "C:\project\smart_selects\widgets.py" in render
  138.                    "id": attrs['id'],

Exception Type: TypeError at /admin/products/product/add/
Exception Value: 'NoneType' object is not subscriptable

有没有办法解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码中存在错误,位于smart_selects\widgets.py的第138行:

File "C:\project\smart_selects\widgets.py" in render
  138.                    "id": attrs['id'],

(局部变量attrs不是dict。它是None