Последние сообщения

Страницы: 1 2 [3] 4 5 ... 10
21
Почему babel преобразует эту строку

String.prototype.trimw = () => {
  return this.replace(/^\s+|\s+$/g, '');
};

вот в эту:

var _this = void 0;

String.prototype.trim = function () {
  return _this.replace(/^\s+|\s+$/g, '');
};

То есть меняет контекст?
22
Django / Re: CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or
« Последний ответ от DigitalMag Январь 22, 2020, 05:06:53 pm »
Далее после скачивания и разархивирования gettext-дистрибутива:

1. Добавляем папку bin в глобальные переменные, перезапускаем virtualenv, в settings.py:

LANGUAGE_CODE = 'ru'

LANGUAGES = (
  ('ru', 'Russian'),
  ('en', 'English'),
)

LOCALE_PATHS = (
    BASE_DIR + 'locale/',
)

2. Создаем папку locale в корне проекта

3. Выполняем последовательно две команды:

django-admin makemessages -l ru

django-admin compilemessages

4. Добавляем
Цитата:
'django.middleware.locale.LocaleMiddleware',
после SessionMiddleware

Запускаем python manage.py runserver
24
Django / CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or
« Последний ответ от DigitalMag Январь 22, 2020, 03:17:03 pm »
Выполняю в консоли команду

(env) D:\__custom_files\__multilang>django-admin makemessages -l ru -a
И получаю следующую ошибку

Цитата:
CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or newer installed.

Это что еще за ошибка?

ПС: следовал инструкции отсюда https://blog.bullgare.com/2011/02/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-django/
25
Javascript и css / Re: Как отличить ie11 от ie10?
« Последний ответ от DigitalMag Октябрь 26, 2019, 06:05:27 pm »
var ie = '\v'=='v' //internet explorer
var ie11 = 1 + window.navigator.userAgent.indexOf('Trident/') > 0; //just ie11
26
Javascript и css / Как отличить ie11 от ie10?
« Последний ответ от DigitalMag Октябрь 26, 2019, 05:50:14 pm »
Смотрел тут и тут, но там только до 10-ки
28
Сетевое оборудование / Re: Ошибка в windows 7 0xc8000343
« Последний ответ от DigitalMag Август 05, 2019, 12:12:28 pm »
Решение нашел тут: https://evdpavel.wordpress.com/2014/12/12/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%89%D0%B8%D0%BA-%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B8%D0%BB-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83-0xc80003f3/

А именно:
— stop Windows Update service
— delete contents in %systemroot%\SoftwareDistribution, both folders Datastore and download (я удалил вообще все папки)
— restart the service

После этого ошибок не было
29
Сетевое оборудование / Ошибка в windows 7 0xc8000343
« Последний ответ от DigitalMag Август 05, 2019, 12:11:49 pm »
автономный установщик обновлений выдал ошибку при запуске обновления KB2999226-x86.

SP1 стоит
30
Django / Доступ к связанной таблице без доп. запроса
« Последний ответ от DigitalMag Июль 28, 2019, 05:22:01 pm »
Вопрос отсюда.

Есть три модели (диалог, сообщения и пользователи):

class Dialog(models.Model):

    Partakers = models.ManyToManyField(Profile, related_name='dialogs', through="Dialog_Partakers")


class Messages(models.Model):
    Sender = models.ForeignKey(Profile)
    Time = models.DateTimeField(default=present_time)                           
    Content = models.TextField()
    Target = models.ForeignKey(Dialog, related_name='messages', related_query_name="messages")

Profile - обычная расширенная модель джанговского пользователя.

И мне нужно через Диалоги получить содержимое сообщения и имя его отправителя. С получением тела сообщения проблем уже не возникает: решил через subquery. Но вот с его отправителем проблема:

lastMessageSender = Subquery(Message.objects.filter(Target=OuterRef('id')).order_by('-id').values('Sender')[:1])
qs = qs.annotate(Sender=lastMessageSender).annotate(sender_name=lastMessageSender__username)

Пробовал так же через prefetch_related:

qs = qs.prefetch_related(Prefetch('messages', queryset=Message.objects.select_related('Target')))
И в шаблоне:

{{ dialog.messages.last.username }}
Ошибок не возникает, но в django toolbar вижу 4 лишних запроса.

Так вот, вопрос я решил через два варианта:

Вариант 1:

        MessageSender = Subquery(Profile.objects.filter(msgs=OuterRef('id')).order_by('-id').values('Image')[:1])
        qs = qs.prefetch_related(Prefetch('messages', queryset=Message.objects.annotate(sender_img=MessageSender).select_related('Target'), to_attr='mss'))
В шаблоне:
{% with dialog.mss|last as msg %}{{msg.sender_img}}{% endwith %}
Создается один лишний запрос

И вариант 2:

        #получаем картинку
        MessageSender = Subquery(Profile.objects.filter(msgs=OuterRef('id')).order_by('-id').values('Image')[:1])
        lastMessageSender = Subquery(Message.objects.filter(Target=OuterRef('id')).annotate(the_sender=MessageSender).order_by('-id').values('the_sender')[:1])
        qs = qs.annotate(SenderImg=lastMessageSender)

И в шаблоне:

<img src="{{ MEDIA_URL }}{{dialog.SenderImg }}" height=30 width=50>
Что лучше? Голосуем
Страницы: 1 2 [3] 4 5 ... 10