0

右の django 10 進数フィールドを揃える最も簡単な方法を探しています。誰かが私に正しいアプローチを教えてもらえますか? 別の投稿を見つけましたが、それでも左揃えで表示されます。管理者をオーバーライドする必要がありますか、それとも管理者に直接いくつかの単純な機能がありません。

3 つの列 (ore_dovute、totale、ore_eccedenti) を右揃えにし、必要に応じて正しい書式を設定したいと考えています。

class TotaliManager(models.Model):
    utente_id = models.IntegerField(max_length=11,null=True)
    ore_dovute = models.DecimalField('ore dovute',max_digits=5,decimal_places=2,null=True)
    totale = models.DecimalField('ore effettuate',max_digits=5,decimal_places=2,null=True)
    ore_eccedenti = models.DecimalField('ore eccedenti',max_digits=5,decimal_places=2,null=True)


    class Meta:
        verbose_name_plural = "Totali per anno / mese"

どうもありがとう

4

2 に答える 2

3

管理フォームについて話している場合は、ウィジェットをオーバーライドする必要があります。

Widget.attrsレンダリング時にフォーム フィールドに追加されるカスタム HTML 属性を設定できます。を使用して、管理画面のフォーム フィールド ウィジェットをオーバーライドできますModelAdmin.formfield_overrides

admin.py

from django.contrib import admin
from django.db import models
from django.forms.widgets import TextInput

from myapp.models import TotaliManager

class TotaliManagerAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.DecimalField: {'widget': TextInput(attrs={'class': 'text-right'}),
    }

admin.site.register(TotaliManager, TotaliManagerAdmin)

この場合、text-right入力フィールドにクラスを追加します。ブートストラップを使用する場合は組み込みですが、それ以外の場合は css を追加するだけです:

.text-right {
    text-align: right;
}
于 2013-06-26T14:49:29.060 に答える