【问题标题】:Django material with django smart select errorDjango 材料与 Django 智能选择错误
【发布时间】:2017-06-18 01:08:17
【问题描述】:

我在一个项目中使用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

有什么办法可以解决这个问题。提前致谢。

【问题讨论】:

标签: python django django-smart-selects


【解决方案1】:

你的代码中有一个错误,在 smart_selects\widgets.py 的第 138 行:

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

(局部变量attrs不是dict,是None

【讨论】:

  • 通常它工作正常。但是在添加 django-material 时会显示错误
  • 您可以在 smart-select 的 github 存储库中提交错误。如果您添加forms.pymodels.py 甚至views.py,您可能会有更好的机会获得答案
  • 好的,谢谢。但是有比 django 的 smart-select 更好的选择吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 1970-01-01
  • 2022-01-01
相关资源
最近更新 更多