• Как изменить значение табуляции по умолчанию для определенного типа файлов в sublime text3?

    xpert13
    @xpert13
    Full Stack Developer
    1. Открываете файл нужного типа (например py файл)

    2. Заходите в меню
    Mac: Preferences -> Settings - Syntax Specific
    Win: Preferences -> Settings -> More -> Syntax Specific -> User

    3. Должен открыться файл с настройками для текущего формата (название должно быть типа "Python.sublime-settings")

    4. Добавьте или измените такую настройку:
    {
        "tab_size": 4
    }


    5. Сохраняем. Открываем файл другого типа и повторяем процедуру с начала.
    Ответ написан
    Комментировать
  • Готовое решение подобной карусели?

    @ferdasfarmazone
    Верстальщик!
    Ранее делал такое, пришёл к решению - сломать нос дизайнеру, помогло
    Ответ написан
    Комментировать
  • Какую тему дипломной работы выбрать, связанную с нс?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Запили нейросеть способную из массива изображений отфильтровать прон с геями и старухами! Любой пользователь tumblr тебе скажет огромное спасибо.
    Ответ написан
    2 комментария
  • Как вместить большую таблицу в контейнер bootstrap?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    .container-fluid
      .table-responsive
        table.table


    .container-fluid — это чтобы дать возможность пользователям с большими мониторами нормально просматривать таблицу
    .table-responsive — этот стиль завернёт таблицу в скроллящийся контейнер. Для больших моников страховка, для маленьких необходимость
    ну а внутри сама таблица.

    Для мобильных устройств нужно будет пересмотреть вид отображения таблицы. Либо оставить скролл-контейнер. Методы адаптации таблиц под мобильники уже сто раз описаны, ничего нового за последние годы не придумали. Гуглить по запросу css responsive table
    Ответ написан
    2 комментария
  • Где лучше ставить сайдбар?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Есть такая штука F-шаблон, а если не выпендриваться (вначале было иное слово), то первое что мы замечаем - это левый верхний угол. Так что там должна быть самая важная инфа. Сайдбар в Вашем случае наверное таковым и является, так как посещают горсоветы не только продвинутые пользователи. Следовательно им надо буквально под нос совать навигацию.
    Так что вопрос не совсем верный. Не важно где сайдбар, важно что в нем. Если там навигация - точно слева надо делать. Если там "читайте так же" - справа. Если тексты песен Бузовой - прямо перед </body> а лучше даже c display: none;
    Ответ написан
    5 комментариев
  • Почему после загрузки сайта на pythonanywhere изменился дизайн админки?

    kgb_zor
    @kgb_zor
    I need your traceback.
    Прежде чем деплоить делай python manage.py collectstatic, у тебя в папке static появится папка admin.
    Ответ написан
    3 комментария
  • Как вывести данные из бд таблицей на сайт?

    @vikholodov
    people = models.ForeignKey(People, help_text = 'Фамилия, имя учащегося', on_delete = models.SET_NULL, null=True, related_name="peoples")
    date_list = State.objects.all()
    for obj in date_list:
        for person in obj.peoples:
            person.name
            person.status
    Ответ написан
    1 комментарий
  • Как правильно вывести на экран данные из db?

    half-life
    @half-life
    Александр Прощенков Чувак, прочитай доку по джанге и по pep8
    Смотри можно сделать вот так:
    models.py
    from django.db import models
    from django.utils.translation import ugettext_lazy as _
    
    
    class SchoolClass(models.Model):
        name = models.CharField(
            _('Класс'),
            max_length=10,
            db_index=True,
            unique=True,
            help_text=_('Название класса.'),
        )
    
        class Meta:
            verbose_name = _('Класс')
            verbose_name_plural = _('Классы')
    
        def __str__(self):
            return self.name
    
    
    class Pupil(models.Model):
        first_name = models.CharField(
            _('Имя'),
            max_length=100,
            db_index=True,
            help_text=_('Имя учащегося.'),
        )
        last_name = models.CharField(
            _('Фамилия'),
            max_length=100,
            db_index=True,
            help_text=_('Фамилия учащегося.'),
        )
        school_class = models.ForeignKey(
            to=SchoolClass, on_delete=models.CASCADE,
            verbose_name=_('Класс'), related_name='pupils',
            help_text=_('Название класса.'),
        )
    
        class Meta:
            verbose_name = _('Ученик')
            verbose_name_plural = _('Ученики')
            indexes = (
                models.Index(fields=['first_name', 'last_name']),
            )
    
        def __str__(self):
            return self.full_name
    
        @property
        def full_name(self):
            return '{} {}'.format(self.first_name, self.last_name)
    
    
    class Schedule(models.Model):
        ATTEND = 'attend'
        ABSENT = 'absent'
        STATUS_CHOICES = (
            (ATTEND, 'Присутствовал'),
            (ABSENT, 'Отсутствовал'),
        )
    
        pupil = models.ForeignKey(
            to=Pupil, on_delete=models.CASCADE,
            verbose_name=_('Ученик'), related_name='schedules',
            help_text=_('Фамилия и имя учащегося.')
        )
        date = models.DateField(
            _('Дата'),
            db_index=True,
            help_text=_('Дата.')
        )
        status = models.CharField(
            _('Статус'), max_length=10,
            choices=STATUS_CHOICES, default=ABSENT,
            db_index=True,
            help_text=_('Статус.')
        )
    
        class Meta:
            verbose_name = _('Расписание')
            verbose_name_plural = _('Расписания')
            indexes = (
                models.Index(fields=['date', 'status']),
            )
            unique_together = ('pupil', 'date',)

    admin.py
    from django.contrib import admin
    
    from schedule.models import (
        SchoolClass,
        Pupil,
        Schedule
    )
    
    
    class PupilInLIne(admin.TabularInline):
        model = Pupil
        fields = ('first_name', 'last_name')
        extra = 1
    
    
    class ScheduleInLIne(admin.TabularInline):
        model = Schedule
        fields = ('date', 'status')
        extra = 1
    
    
    @admin.register(SchoolClass)
    class SchoolClassAdmin(admin.ModelAdmin):
        list_display = ('name',)
        list_display_links = ('name',)
        inlines = (PupilInLIne,)
        list_filter = ('name',)
        search_fields = ('name',)
    
    
    @admin.register(Pupil)
    class PupilAdmin(admin.ModelAdmin):
        list_display = ('full_name', 'school_class')
        list_display_links = ('full_name',)
        inlines = (ScheduleInLIne,)
        raw_id_fields = ('school_class',)
        list_select_related = ('school_class',)
        search_fields = ('first_name', 'last_name', 'school_class__name')
        list_filter = ('school_class__name',)



    Вьюха будет что-то типа такого
    views.py
    class PupilScheduleDetailView(DetailView):
        model = Pupil
        template_name = 'pupil_schedule_detail.html'
    
        def get_context_data(self, **kwargs):
            context_data = super().get_context_data(**kwargs)
            schedule_queryset = self.object.schedules.all().select_related(
                'pupil'
            ).values(
                'pupil__first_name',
                'pupil__last_name',
                'date', 'status'
            )
            context_data.update({
                'schedules': schedule_queryset
            })
            return context_data

    pupil_schedule_detail.html
    {% if schedules %}
      <table>
    
        {% for schedule in schedules %}
          <tr>
            <td>{{ schedule.pupil__first_name }} {{ schedule.pupil__last_name }}</td>
            <td>{{ schedule.date }}</td>
            <td>{{ schedule.status }}</td>
          </tr>
        {% endfor %}
    
      </table>
    {% else %}
      <p>Данных нет!</p>
    {% endif %}


    Вообще хз конечно тут уже сам смотри.. Реализацию твою я не знаю, думай сам.
    З.Ы. Я с обычными джанго вьюхами и темплейтами давненько не работал, так что может что то не так, тут уже сорян ¯\_(ツ)_/¯
    Ответ написан
    Комментировать
  • Как на python сделать таймер?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Да можно так же:
    from time import monotonic
    
    t = monotonic()
    while True:
        if monotonic() - t > 10:
            t = monotonic()
            print('tick')
    Ответ написан
    Комментировать
  • Как с помощью регулярок выбрать 2 и более слов?

    sim3x
    @sim3x
    In [13]: list(re.findall('%(\w+ *\w+)%', '\n1.%География  Математика%(8:30-9:15)'))
    Out[13]: ['География  Математика']
    
    In [14]: list(re.findall('%(\w+ *\w+)%', '\n1.%ГеографияМатематика%(8:30-9:15)'))
    Out[14]: ['ГеографияМатематика']
    
    In [15]: list(re.findall('%(.+)%', '\n1.%ГеографияМатематика%(8:30-9:15)'))
    Out[15]: ['ГеографияМатематика']
    
    In [16]: list(re.findall('%(.+)%', '\n1.%География   Математика%(8:30-9:15)'))
    Out[16]: ['География   Математика']
    Ответ написан
    Комментировать
  • С чего начать студенту?

    Stalker_RED
    @Stalker_RED
    ...они упоминают привязку кода C++ к Java Script и я опять же совершенно не понимаю, как они могут взаимодействовать, как можно соединить эти два языка...
    Смотри какое крутое колдунство: тыц

    Между "я написал hello world" и "они делают крутые штуки" есть некоторый концептуальный пробел. Вот его и нужно заполнять. Написать что-то более крутое чем hello world, посмотреть исходники каких-то штуковин средней сложности, почитать о инструментах и приемах, которые используются в разработке, вот это все.

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

    Курсов и учебников в сети немеряно: codecademy, coursera, курсы яндекса, и так далее. Выбирайте на свой вкус, начинайте проходить. Если все слишком сложно - можно подобрать курс попроще. Если все слишком элементарно - пролистать быстренько до конца, и взять курс посложнее.
    Ответ написан
    2 комментария
  • Telegram+python+flask+PyTelegramBotApi+pythonanywhere+webhook?

    @egor201
    Для PyTelegramBotApi работает следующее:

    from flask import Flask, request
    import telebot
    from telebot import types
    import time
    
    secret = "GUID"
    bot = telebot.TeleBot('TOKEN_TELEGRAM', threaded=False)
    
    bot.remove_webhook()
    time.sleep(1)
    bot.set_webhook(url="https://YOURNAME.pythonanywhere.com/{}".format(secret))
    
    app = Flask(__name__)
    
    @app.route('/{}'.format(secret), methods=["POST"])
    def webhook():
        bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
        print("Message")
        return "ok", 200
    
    
    @bot.message_handler(commands=['start', 'help'])
    def startCommand(message):
        bot.send_message(message.chat.id, 'Hi *' + message.chat.first_name + '*!' , parse_mode='Markdown', reply_markup=types.ReplyKeyboardRemove())


    проверено на платном аккаунте
    Ответ написан
    3 комментария
  • Как запустить telegram bot на heroku с webhook?

    0sMo0
    @0sMo0
    Системный администратор
    У вас уже запущен вэбхук с другого урла или вы используете GetUpdates где-то в другом месте.
    Убедитесь, что ваш бот не запущен где то в другом месте.
    Ответ написан
    Комментировать