django-xadmin定製之列表頁searchbar placeholder

環境:xadmin-for-python3 python3.5.2 django1.9.12html

列表頁的searchbar若是提供的可搜索字段,都沒提示哪一個字段可搜索,很不友好,本次定製主要增長input元素的placeholder,定製後見搜索區的提示效果:node

 

如下爲要修改的相關代碼:python

1. xadmin\plugins\filters.py block_nav_form方法增長search_placeholderdjango

def block_nav_form(self, context, nodes):
        if self.search_fields:
            search_placeholder = ' '.join([str(get_fields_from_path(self.model, search_field)[-1]._verbose_name) for search_field in self.search_fields])
            context = get_context_dict(context or {})  # no error!
            context.update({
                'search_var': SEARCH_VAR,
                'remove_search_url': self.admin_view.get_query_string(remove=[SEARCH_VAR]),
                'search_form_params': self.admin_view.get_form_params(remove=[SEARCH_VAR]),
                'search_placeholder': search_placeholder
            })
            nodes.append(
                loader.render_to_string(
                    'xadmin/blocks/model_list.nav_form.search_form.html',
                    context=context)
            )

 

2.  xadmin\templates\xadmin\blocks\model_list.nav_form.search_form.html 增長search_placeholderapp

{% load i18n %}
{% if cl.search_fields %}
<form class="navbar-form navbar-left" action="" method="get">
    <div class="input-group search-group">
    {% if cl.search_query %}
      <span class="input-group-btn"><a class="btn btn-default" href="{{remove_search_url}}">x</a></span>
    {% endif %}
    <input id="searchbar" class="form-control" style="width:300px" type="text" name="{{ search_var }}" value="{{ cl.search_query }}" placeholder="{% trans 'Search' %} {{search_placeholder}}">
    <span class="input-group-btn"><button class="btn btn-primary" type="submit"><i class="fa fa-search"></i></button></span>
    </div>
    {{ search_form_params|safe }}
</form>
{% endif %}
相關文章
相關標籤/搜索