Django – добавление дополнительных опций в AdminTimeWidgetPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Django – добавление дополнительных опций в AdminTimeWidget

Сообщение Anonymous »

Я попытался добавить больше вариантов времени в AdminTimeWidget, переопределив DateTimeShortcuts, ссылаясь на этот пост, а также на другие похожие посты на SO. Мои проблемы заключаются в том, что я получаю сообщение Uncaught ReferenceError: DateTimeShortcuts не определено и исключение jQuery.Deferred: DateTimeShortcuts не определено ReferenceError: DateTimeShortcuts не определено в ошибке HTMLDocument на консоли. Я новичок в Джанго, я не понял, почему получаю эту ошибку. Вот как я это реализовал:
(function($) {
$(document).ready(function() {
DateTimeShortcuts.clockHours.default_ = [
['16:30', 16.5],
['17:30', 17.5],
['18:00', 18],
['19:00', 19],
['20:00', 20],
];

DateTimeShortcuts.handleClockQuicklink = function (num, val) {
let d;
if (val == -1) {
d = DateTimeShortcuts.now();
} else {
const h = val | 0;
const m = (val - h) * 60;
d = new Date(1970, 1, 1, h, m, 0, 0);
}
DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]);
DateTimeShortcuts.clockInputs[num].focus();
DateTimeShortcuts.dismissClock(num);
};
});
})(jQuery);

и в моем ModelAdmin я включил этот JS-файл в класс Media, как показано ниже:
@admin.register(models.MyModel)
class MyAdminModel():
// other stuff
list_filter = [("created", custom_titled_datetime_range_filter("By created"))]

class Media:
js = ("admin/js/DateTimeShortcuts.js",)

Кроме того, у меня есть собственный фильтр диапазона дат и времени, реализованный как:
def custom_titled_datetime_range_filter(title):
class CustomDateTimeRangeFilter(DateTimeRangeFilter):
def __init__(self, field, request, params, model, model_admin, field_path):
super().__init__(field, request, params, model, model_admin, field_path)
self.title = title

return CustomDateTimeRangeFilter


Подробнее здесь: https://stackoverflow.com/questions/784 ... timewidget
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»