私はライブラリdjango-filterを使用しており、デフォルトで独自のフィルタフォームをサポートしています。テンプレートで{{filter.form}}を使用して印刷します。自分のニーズに合わせて設定してカスタマイズする方法はありますか?私は "Φίλτρο"という言葉を使わないでください。django-filterのデフォルトフォームの外観を変更する
0
A
答えて
0
(英語ではフィルターである)この言葉は、モデルの属性にhelp_text
属性を使用して構成することができます。私は、非ギリシャ人が答えることができるように、翻訳の流れをstackoverflowにすることを提案するだけです。
代わりに、FILTERS_HELP_TEXT_FILTER=False
設定(http://django-filter.readthedocs.org/en/latest/ref/settings.html)を使用して、このテキスト(フィルタ)を完全に無効にすることができます。
0
私は私の解決策は以下の通りであった、また、この問題に直面していました:
filters.py:
from django import forms
from django.utils.translation import ugettext as _
from django.forms.utils import flatatt
from django.contrib.auth.models import User
from .models import Zone, Location, Note, Price, Item, Unit, Category
import django_filters
class PriceFilter(django_filters.FilterSet):
STATUS_CHOICES = (
(0, _('Pending')),
(1, _('Approved')),
(2, _('Deleted')),
)
location = django_filters.ModelChoiceFilter(queryset=Location.objects.all(), widget=forms.Select(attrs={'class': 'form-control form-control-sm'}))
item = django_filters.ModelChoiceFilter(queryset=Item.objects.all(), widget=forms.Select(attrs={'class': 'form-control form-control-sm'}))
user = django_filters.ModelChoiceFilter(queryset=User.objects.all(), widget=forms.Select(attrs={'class': 'form-control form-control-sm'}))
status = django_filters.ChoiceFilter(choices=STATUS_CHOICES, widget=forms.Select(attrs={'class': 'form-control form-control-sm'}))
date = django_filters.DateFromToRangeFilter(widget=django_filters.widgets.RangeWidget(attrs={'class': 'datepicker form-control form-control-sm', 'placeholder': 'YYYY-MM-DD'}))
class Meta:
model = Price
fields = ('location', 'item', 'unit', 'date', 'status', 'user', 'approved',)
views.py:
from django.shortcuts import get_object_or_404, render, redirect
from django.urls import reverse
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from django.views import generic, View
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.db.models import Count
from .models import Zone, Location, Note, Price, Item, Unit, Category
from .forms import NoteForm
from .filters import PriceFilter
...
class IndexView(generic.ListView):
template_name = 'price/index.html'
def get(self, request):
price_list = Price.objects.all().order_by('-date').annotate(num_notes=Count('note'))
price_filter = PriceFilter(request.GET, queryset=price_list)
paginator = Paginator(price_filter.qs, 30)
page = request.GET.get('page')
try:
prices = paginator.page(page)
except PageNotAnInteger:
prices = paginator.page(1)
except EmptyPage:
prices = paginator.page(paginator.num_pages)
index = paginator.page_range.index(prices.number)
max_index = len(paginator.page_range)
start_index = index - 5 if index >= 5 else 0
end_index = index + 5 if index <= max_index - 5 else max_index
page_range = paginator.page_range[start_index:end_index]
return render(request, self.template_name, {
'prices': prices,
'filter': price_filter.form,
'page_range': page_range,
})
のindex.htmlを:
{% extends "base/base.html" %}
{% load i18n %}
{% load mptt_tags %}
{% block content %}
<div class="card border-light mb-3">
<div class="card-header">{% trans 'Filter' %}</div>
<div class="card-body">
<form method="get">
<div class="form-row">
<div class="form-group col-md-2">
<label for="inputEmail4" class="col-form-label">{% trans 'Item' %}</label>
{{ filter.item }}
</div>
<div class="form-group col-md-2">
<label for="inputEmail4" class="col-form-label">{% trans 'Location' %}</label>
{{ filter.location }}
</div>
<div class="form-group col-md-2">
<label for="inputEmail4" class="col-form-label">{% trans 'Author' %}</label>
{{ filter.user }}
</div>
<div class="form-group col-md-3">
<label for="inputEmail4" class="col-form-label">{% trans 'Date' %}</label>
<div class="input-group mb-3 mb-sm-0">
{{ filter.date }}
</div>
</div>
<div class="form-group col-md-2">
<label for="inputEmail4" class="col-form-label">{% trans 'Status' %}</label>
{{ filter.status }}
</div>
<div class="form-group col-md-1">
<label for="inputEmail4" class="col-form-label">{% trans 'Actions' %}</label>
<button type="submit" class="btn btn-sm btn-primary">{% trans 'Filter' %}</button>
</div>
</div>
</form>
</div>
</div>
Djangoのフォームのようにフィルタを使用できますが、特定のウィジェットもあります。私は文書をチェックするためにあなたに助言します: https://django-filter.readthedocs.io/en/develop/ref/filters.html#widget
関連する問題
- 1. djangoのフィールドのデフォルトフォームを変更
- 2. ラジオボタンの外観を変更
- 3. ウェブサイトの外観を変更
- 4. .htaccess - URLの外観を変更する
- 5. UIStepperの外観を変更する
- 6. Eclipseの外観を変更する
- 7. Androidキーボードの外観変更
- 8. Uitabcontrollerのスウィフト変更外観? 。
- 9. odooのmany2oneフィールドのデフォルトフォームを変更するには
- 10. JSliderの外観と感じを変更
- 11. iPhone iOS5ストーリーボードの変更ナビバーの外観
- 12. Androidアプリのスタイルとテーマのテキストの外観を変更する
- 13. MOSS 2007のドロップダウンメニューの外観を変更する
- 14. openlayerのfeature.vectorの外観を変更する
- 15. UITextViewのカーソルの外観を変更する
- 16. スクロールの要素の外観を変更するJavaScript
- 17. Androidのキャッシュファイルの外観を変更する
- 18. Facebookのログインボタンの外観を変更する
- 19. Javaのボタンの外観を変更するには
- 20. クリック時のボタンの外観を変更するAngular2
- 21. Googleのグラフのデータと外観をボタンで変更する
- 22. UITableCellViewの外観を変更する前に(UITableViewから)
- 23. PHPスクリプト内からURLの外観を変更する方法
- 24. Flex 4でラジオボタンの外観を変更する
- 25. プレインストールされたWordPressウィジェットの外観を変更する
- 26. 検索ボックスの外観を変更する
- 27. ポップオーバーの外観を変更するには
- 28. EditTextでカーソルの外観を変更する方法は?
- 29. Telerik RadGridインライン編集の外観と感じを変更する
- 30. HTML5/CSS3 - リサイズハンドルの外観を変更する