Задать вопрос
  • За что отвечает ALLOWED_HOSTS?

    un1t
    @un1t
    Отвечает с каких адресов будет доступно данное приложение.
    Т.е. если в nginx у нас указано "server_name example.ru, dev.example.ru, test.example.ru" то приложение будет доступно по всем этим адресам, а мы в проде хотим чтобы доступно было только по основному, соответсвенно можем указать ALLOWED_HOSTS=['example.ru']
    Ответ написан
    1 комментарий
  • Как написать скрипт для чистой базы почты?

    @deliro
    with open('file.txt') as f:
        result = [line.split(',')[0].replace('"', '').replace('[','') for line in f.readlines()]


    Решение очень и очень частное. Только если кавычки двойные и мыло идёт первым.
    Ответ написан
    Комментировать
  • Как автоматически инкрементировать значение в форме?

    @deliro
    Зачем вообще в meta.fields нужен term, если он инкременируется?

    user = form.save(commit=False)  # Получаем обновлённую модель юзера из формы.
    user.term += 1
    user.save()


    P.S. Используйте Class Based Views. Неужели, вам не жалко своё время?

    from django.views.generic import *
    
    class YourFormView(FormView):
        form_class = UserProfile
        template_name = 'path/to/your_template.html'
    
        def form_valid(self, form):  # Вызывается, если форма is_valid
            user = form.save(commit=False)
            user.term += 1
            user.save()
            return # Чего вы хотите вернуть (обычно это редирект)
    
        def form_invalid(self, form):
            # Что-то делаем, если форма невалидна. По-умолчанию, джанго возвращает
            # на ту же страницу и показывает ошибки в форме.


    Но ещё лучше переопределить метод save у формы и инкременировать term там.
    Ответ написан
    2 комментария
  • Запуск графического приложения с ВПС без графической оболочки?

    loly_girl
    @loly_girl
    IoT, сети, биолог, арт-директриса
    Можно не ставить иксы, а использовать перенаправление X11 в Xming через SSH.
    Ответ написан
    3 комментария
  • Как задать ограничение цикла django в тегах?

    @deliro
    Если нужен паджинатор:
    from django.views.generic import ListView
    
    class NewsList(ListView):
        model = News
        paginate_by = 5


    Если просто выкинуть 5 последних:
    News.objects.all()[:5]

    В теги это лучше не совать. Но если очень хочется сделать это в шаблоне:
    class News(Model):
        # Твоя модель новостей
        @classmethod
        def last_five(cls):
            return cls.objects.all()[:5]


    Затем передать модель в контекст:
    return render(request, 'template.html', {'News': News})


    И в шаблоне написать:
    <div class="my-very-own-news">
        {% for news in News.last_five %}
            {{ news }}
        {% endfor %}
    </div>
    Ответ написан
    Комментировать
  • Как в Python скачать файл прямо на диск?

    @deliro
    Ну или так.
    import requests
    
    with open(os.path.join(savepath(out_file_name)), 'wb') as out_stream:
        req = requests.get(download_url + out_file_name, stream=True)
        for chunk in req.iter_content(1024):  # Куски по 1 КБ
            out_stream.write(chunk)
    Ответ написан
    Комментировать
  • Какое решение подобрать для почтового сервера?

    @MechanID
    Админ хостинг провайдера
    Вариант первый - поставить и забыть это Zimbra: быстро практично но мало опыта
    плюсы: быстро и зачастую работает из коробки.
    минусы: если чтото сломается вы врядли сходу разберетесь что не так.

    Вариант второй - настроить самому -долго но много полезного опыта.
    плюсы: достаточно полное понимание что и как работает и безпроблемный ремонт, возможность допилить под свои нужды.
    минусы: требует времени на изучение материалов и хождение по граблям.

    Самые часто используемые компоненты бесплатных почтовых систем:
    ОС - на выбор Centos или Debian, если времени много и хочется бонусный опыт то Gentoo.
    exim или postfix - smtp сервер
    dovecot или courier imap - pop3/imap сервер
    Базу где хранить логины пароли и тд это может быть как текстовичок так и БД MySQL или Postgres
    далее наверно захочется спамфильтр - spamassasin, amavisd
    антивирь - clamav
    сервер сайд фильтры для почты (раскладывать почту по папкам на основании правил) sieve
    вебморду для доступа в почтовые ящики squirremail. roundcube, horde и тд
    вебморду для управления пользователями (если в БД) postfixadmin

    вот както так.
    Ответ написан
    2 комментария
  • Есть ли база данных (дерево знаний) по библиотекам для Python?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Ответ написан
    Комментировать
  • Что должен знать и уметь на практике хороший эникейщик?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Знать, где штаут купить ближе и дешевле.

    Если серьёзно, то - собирать/разбирать железки с закрытыми глазами, диагностировать поломки в железе как с тестером, так и по косвенным признакам (или перебором комппонент), уметь быстро искать любую неведомую чушь в гугле, которую спросили пользователи, уметь работать с тем софтом, который используется на предприятии, чтобы консультировать пользователей, мыться, бриться, одеваться так, чтобы люди не разбегались.
    Следующий этап - уметь добиваться от пользователей корректных багрепортов по схеме "Что хотели получить? Что сделали? Что получили? Почему думаете, что получили не то, что хотели?". Ну и в целом уметь диагностировать проблемы пользователей (уметь дебажить сеть, например).

    Всё остальное зависит уже от админа, с которым работать будете. Может быть, он вас взял, потому что интроверт и не хочет подходить к людям вовсе. А может быть он через полгода сваливает и за эти полгода вам нужно будет научиться всему тому, что админ тот умеет.
    Ответ написан
    1 комментарий
  • Как дебажить в консоли объект?

    @stopbreath
    начинающий/практикующий python-программист
    dir - и получите спиок всех аттрибутов объекта
    Ответ написан
    Комментировать
  • Как настроить на linux возможность получения нескольких IP от DHCP сервера на одном сетевом интерфейсе?

    t_q_l
    @t_q_l
    Интересная личность
    Создать новый интерфейс с именем mac1@eth0 и МАС-адресом 51:41:4a:6c:47:ab:

    /sbin/ip li add link eth0 mac1 address 51:41:4a:6c:47:ab type macvlan
    Ответ написан
    1 комментарий