婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > django admin search_fields placeholder 管理后臺添加搜索框提示文字

django admin search_fields placeholder 管理后臺添加搜索框提示文字

熱門標簽:n400電話申請多少錢 如何在地圖標注文字 廈門crm外呼系統如何 西藏快速地圖標注地點 百應ai電銷機器人鄭州 女王谷地圖標注 ai地圖標注 長春人工智能電銷機器人官網 地圖標注推廣單頁

本文主要介紹了django admin search_fields placeholder 管理后臺添加搜索框提示文字,分享給大家,具體如下:

如圖, Django admin后臺生成的搜索框, 默認是沒有提示文字的, 不夠友好; 網上也沒搜到什么好的示例, 于是自己動手實現了一個

0. 已經存在的app名為carousel, 大致相當于如下操作/代碼

$ python manage.py startapp carousel
# settings.py
```
INSTALLED_APPS = [
  ...
  'carousel',
]
```
# carousel/models.py
```
from django.db import models
 
class Carousel(models.Model):
  community = models.IntegerField('小區ID')
  
  class Meta:
    verbose_name = verbose_name_plural = '輪播設置'
```

1. 定制模板標簽templatetags

mkdir -p carousel/templatetags
touch carousel/templatetags/__init__.py
touch carousel/templatetags/search_with_placeholder.py
# carousel/templatetags/search_with_placeholder.py
from django.contrib.admin.templatetags.admin_list import (
  InclusionAdminNode,
  register,
  search_form,
)
 
 
def search_form_plus(cl, search_placeholder: str = ""):
  """
  Display a search form for searching the list with placeholder.
  """
  return dict(search_form(cl), search_placeholder=search_placeholder)
 
 
@register.tag(name="search_form_plus")
def search_form_tag(parser, token):
  return InclusionAdminNode(
    parser,
    token,
    func=search_form_plus,
    template_name="search_form_plus.html",
    takes_context=False,
  )

2. 定制模板template

mkdir -p carousel/templates/admin
mkdir -p carousel/templates/custom_admin
touch carousel/templates/admin/search_form_plus.html
touch carousel/templates/custom_admin/change_list.html
!-- carousel/templates/admin/search_form_plus.html -->
{% load i18n static %}
{% if cl.search_fields %}
div id="toolbar">form id="changelist-search" method="get">
div>!-- DIV needed for valid HTML -->
label for="searchbar">img src="{% static "admin/img/search.svg" %}" alt="Search">/label>
input type="text" size="40" name="{{ search_var }}" placeholder="{{ search_placeholder }}" value="{{ cl.query }}" id="searchbar" autofocus>
input type="submit" value="{% translate 'Search' %}">
{% if show_result_count %}
  span class="small quiet">{% blocktranslate count counter=cl.result_count %}{{ counter }} result{% plural %}{{ counter }} results{% endblocktranslate %} (a href="?{% if cl.is_popup %}_popup=1{% endif %}" rel="external nofollow" >{% if cl.show_full_result_count %}{% blocktranslate with full_result_count=cl.full_result_count %}{{ full_result_count }} total{% endblocktranslate %}{% else %}{% translate "Show all" %}{% endif %}/a>)/span>
{% endif %}
{% for pair in cl.params.items %}
  {% if pair.0 != search_var %}input type="hidden" name="{{ pair.0 }}" value="{{ pair.1 }}">{% endif %}
{% endfor %}
/div>
/form>/div>
{% endif %}
!-- carousel/templates/custom_admin/change_list.html -->
{% extends "admin/change_list.html" %}
{% load search_with_placeholder %}
 
{% block search %}{% search_form_plus cl search_placeholder %}{% endblock %}

3. 定制admin.py

cat carousel/admin.py

# Django3.1
from django.contrib import admin
 
from .models import BoxCarousel, Carousel,
 
 
class PlaceholderMixin:
  change_list_template = "custom_admin/change_list.html"
 
  def changelist_view(self, request, extra_context=None):
    search_placeholder = getattr(self, "search_placeholder", False)
    if search_placeholder:
      extra_context = extra_context or {}
      extra_context["search_placeholder"] = search_placeholder
    return super().changelist_view(request, extra_context)
 
 
@admin.register(Carousel)
class CarouselAdmin(PlaceholderMixin, admin.ModelAdmin):
  search_fields = ["=community"]
  search_placeholder = "請輸入小區ID"

其他列表頁, 如果也想顯示提示文字, 只需繼承PlaceholderMixin, 然后定義search_placeholder就可以了

到此這篇關于django admin search_fields placeholder 管理后臺添加搜索框提示文字的文章就介紹到這了,更多相關django admin search_fields placeholder搜索框內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • pycharm+django創建一個搜索網頁實例代碼
  • Python中使用haystack實現django全文檢索搜索引擎功能
  • django 使用全局搜索功能的實例詳解
  • Django實現組合搜索的方法示例
  • Django 簡單實現分頁與搜索功能的示例代碼
  • django使用haystack調用Elasticsearch實現索引搜索
  • Django項目之Elasticsearch搜索引擎的實例
  • django組合搜索實現過程詳解(附代碼)

標簽:拉薩 廊坊 亳州 興安盟 內江 渭南 綿陽 黔東

巨人網絡通訊聲明:本文標題《django admin search_fields placeholder 管理后臺添加搜索框提示文字》,本文關鍵詞  django,admin,search,fields,placeholder,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《django admin search_fields placeholder 管理后臺添加搜索框提示文字》相關的同類信息!
  • 本頁收集關于django admin search_fields placeholder 管理后臺添加搜索框提示文字的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹤岗市| 大洼县| 库伦旗| 广南县| 白城市| 凤台县| 恭城| 淄博市| 若尔盖县| 辽阳市| 仁化县| 中江县| 宣武区| 二连浩特市| 长宁县| 宜都市| 白银市| 秦安县| 靖安县| 黄浦区| 元朗区| 彭泽县| 马尔康县| 汉寿县| 宜君县| 鲁山县| 喜德县| 城固县| 民乐县| 甘肃省| 湟中县| 扶绥县| 礼泉县| 隆安县| 调兵山市| 阜城县| 秭归县| 镇坪县| 巴彦县| 绥宁县| 旬邑县|