Как я могу настроить внешний вид администратора Django? - PullRequest
2 голосов
/ 07 октября 2011

Пожалуйста, помогите мне Как я могу настроить текст и символ поля (длина, ширина, шрифт, цвет) без использования шаблонов для следующего кода

 class Record(models.Model):
        Name   = models.CharField(max_length=200,blank=True,null=True,help_text="Employee Name")
        Empid  = models.CharField(max_length=300,blank=True,null=True,help_text="Employee ID")
        Salary = models.IntegerField(blank=True,null=True)
        Bonus  = models.IntegerField(blank=True,null=True)

Ответы [ 3 ]

1 голос
/ 07 октября 2011

В вашем admin.py:

class RecordAdmin(admin.ModelAdmin):
    # your stuff...

    class Media:
        css = {
            "all": ("my_styles.css",)
        }

Документация для class Media.

Теперь вы сможете переопределить то, что вы хотите в my_styles.css file.

Если вы хотите более общее решение (не только для модели Record, но для многих моделей), хороший способ сделать это - расширить шаблон base_site.html, добавив свой собственный файл CSS.ко всем страницам администратора.

{% block blockbots %}
<link rel="stylesheet" type="text/css" href="/media/css/admin_base.css" />
{{ block.super }}
{% endblock %}

Я поместил его в blockbots вместо extrastyle, чтобы быть уверенным, что он будет в конце, поэтому он переопределит все другие таблицы стилей.

Документация по переопределению / расширению шаблонов администратора.

0 голосов
/ 07 октября 2011

Невозможно изменить визуальные элементы администратора Django из модели. Это полностью победило бы цель инфраструктуры MVC! Разделение проблем требует, чтобы эти изменения были внесены в шаблон.

Если вы хотите изменить размер текста, вам придется изменить таблицы стилей для администратора.

0 голосов
/ 07 октября 2011

Может быть, вам нужно создать формы из ваших моделей и настроить их, здесь - официальный документ.

Используйте виджеты для настройки с атрибутами HTML

...