Форум → Программирование → Python → Django → Кастомизация админ-панели
Кастомизация админ-панели
Страницы: ← Следующая страница →
-
30 апреля 2012 г. 23:07, спустя 14 минут 40 секунд
яваскрипт на поля, изменить оформление, поменять поля местами или вставить картинку после поля
юзаю кастомные вьюхи :D -
30 апреля 2012 г. 23:21, спустя 13 минут 45 секунд
Например мне нужно навесить яваскрипт на поля, изменить оформление, поменять поля местами или вставить картинку после поля.
без проблем.Сапожник без сапог -
30 апреля 2012 г. 23:23, спустя 2 минуты 29 секунд
phpdude, например? Ты будешь стебаться, но я делаю похожее расширение для Yii -
30 апреля 2012 г. 23:27, спустя 3 минуты 28 секунд
идиот :-)
phpdude, например? Ты будешь стебаться, но я делаю похожее расширение для Yii
проще поменять языкСапожник без сапог -
30 апреля 2012 г. 23:35, спустя 7 минут 52 секунды
phpdude, не вижу веской причины, так-то книга по джанге на полке стоит. -
-
1 мая 2012 г. 9:46, спустя 9 часов 55 минут 22 секунды
Например мне нужно навесить яваскрипт на поля, изменить оформление, поменять поля местами или вставить картинку после поля.
widgetsСпустя 157 сек.from django.contrib import admin
from colorful.fields import RGBColorField
from colorful.widgets import ColorFieldWidget
from kinsburg_tv.films.models import Genre
class GenreAdmin(admin.ModelAdmin):
formfield_overrides = {
RGBColorField: {'widget': ColorFieldWidget},
}
list_display = ('name', 'color', )
admin.site.register(Genre, GenreAdmin)https://smappi.org/ - платформа по созданию API на все случаи жизни -
1 мая 2012 г. 12:40, спустя 2 часа 53 минуты 17 секунд
вот этого я больше всего не понимаю, нахуй делать шаблонизатор, например, что бы потом писать к нему плагины, в один из которых вставлять костыль, что выделить ячейку красным цветом… это ж пиздец как по мне… -
1 мая 2012 г. 12:44, спустя 3 минуты 59 секунд
Чего? Ты темой не ошибся?
вот этого я больше всего не понимаю, нахуй делать шаблонизатор, например, что бы потом писать к нему плагины, в один из которых вставлять костыль, что выделить ячейку красным цветом… это ж пиздец как по мне…Спустя 95 сек.Причем тут шаблонизатор вообще? Виджеты филдов относятся к формам, конкретный пример необходим для админки, которая генерируется автоматическиhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
1 мая 2012 г. 12:51, спустя 7 минут 46 секунд
kostyl, не понял причем тут шаблонизатор, но отвечу: вся админ-панель генерируется автоматически, "на лету", значит чтобы исправить что-то в внешнем виде или логике тебе нужны способы кастомизации, перееопределить виджет вывода - помоему интресное решение. -
1 мая 2012 г. 13:42, спустя 50 минут 29 секунд
Я просто думаю что kostyl не пользуется скаффолдингомhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
1 мая 2012 г. 13:12, спустя 23 часа 30 минут 22 секунды
Можно, кстати и без виджета, если что-то одноразовое:
class GenreAdmin(admin.ModelAdmin):
fields = ('red_title', другие поля)
readonly_fields = ('red_title',)
def red_title(self, obj):
return '<div style="color:red">%s</div>' % obj.title
red_title.allow_tags = True
red_title.__name__ = 'Красный заголовок' -
1 мая 2012 г. 14:25, спустя 1 час 12 минут 21 секунду
А reflection в php 5.2. есть? ПРосто я тоже админ-панели щас штампую всякие разные, до этого на пхп 5.3 в своем старом фреймворке делал на рефлекшне набор функций в админ-панели, генерируемых автоматом, что-то вроде такого:
private function _getAdministrativeMap()
{
if ($bundles = Config::get('admin', 'bundles'))
{
$map = array();
foreach ($bundles as $bundle)
{
$map[$bundle] = array();
foreach (glob("app/logic/$bundle/Solutions/*.php") as $solution)
{
$solution = preg_replace('/^(\S+)\.php$/', '$1', basename($solution));
$map[$bundle][$solution] = array();
$className = "\\$bundle\\Solutions\\$solution";
foreach (get_class_methods($className) as $method)
{
$reflect = new \ReflectionMethod($className, $method);
if ($reflect->isPublic())
{
$reflectName = $reflect->getName();
if (strpos($reflectName, '_') !== false) continue;
if ($phpDoc = $reflect->getDocComment())
{
if (Config::get('admin', 'admin_method_only') and
strpos($phpDoc, '@admin_method') == false) continue;
preg_match('/@admin_method ([^\n]+)\n/', $phpDoc, $matchData);
$map[$bundle][$solution][$reflectName]['desc'] =
(isset($matchData[1])) ? trim($matchData[1]) : '';
preg_match_all('/@admin_textarea ([^\n]+)\n/', $phpDoc, $matchData);
$matchData = isset($matchData[1][0]) ? $matchData[1] : array();
$matchData = array_map('trim', $matchData);
$map[$bundle][$solution][$reflectName]['textareas'] = $matchData;
}
else
{
if (Config::get('admin', 'admin_method_only')) continue;
}
$map[$bundle][$solution][$reflectName]['p'] = array();
foreach ($reflect->getParameters() as $param)
{
/**
* @var $param \ReflectionParameter
*/
if (!$param->isArray())
{
$opt = $param->isOptional() ? '_' : '';
$map[$bundle][$solution]
[$reflectName]['p'][] = $opt . $param->getName();
}
else
{
/*
* Arrays not supported in this version
*/
unset($map[$bundle][$solution][$reflectName]);
break;
}
}
}
}
if (count($map[$bundle][$solution]) == 0)
{
unset($map[$bundle][$solution]);
}
}
}
return $map;
}
return array();
} -
1 мая 2012 г. 14:33, спустя 7 минут 51 секунду
Ivan, это не то. У тебя функции ищутся и выводятся в меню автоматом, а пишешь ты их сам и складываешь в папку. А в джанго весь CRUD действительно создается сам. Причем под "создается" я имею ввиду не исполняемые файлы, а именно результирующий HTML
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!