Size: a a a

Django [ru] #STAY HOME

2019 February 24

BE

Black Eyes in Django [ru] #STAY HOME
Andrey
Эмуляция команд
И что это значит, что к ней подключиться нельзя?
источник

A

Andrey in Django [ru] #STAY HOME
Black Eyes
И что это значит, что к ней подключиться нельзя?
Я хз как там все устроено
источник

A

Andrey in Django [ru] #STAY HOME
источник

A

Andrey in Django [ru] #STAY HOME
Оно на 127.0.0.1 сидит ))
источник

BE

Black Eyes in Django [ru] #STAY HOME
Andrey
Оно на 127.0.0.1 сидит ))
И windows на 127,0,0,1 и получается я сам в себя долблюсь
источник

A

Andrey in Django [ru] #STAY HOME
да
источник

A

Andrey in Django [ru] #STAY HOME
подними там ssh server
источник

A

Andrey in Django [ru] #STAY HOME
зайти по ssh
источник

A

Andrey in Django [ru] #STAY HOME
подними redis
источник

BE

Black Eyes in Django [ru] #STAY HOME
редись уже поставлен там уже все настроено
источник

AF

Anton Fircak in Django [ru] #STAY HOME
ребят, а подскажите куда вставлять токен полученный при авторизации в следующие запросы, Headers  Authorization? drf юзаю
источник

AF

Anton Fircak in Django [ru] #STAY HOME
через постмен толкаю запросы
источник

A

Andrey in Django [ru] #STAY HOME
Anton Fircak
ребят, а подскажите куда вставлять токен полученный при авторизации в следующие запросы, Headers  Authorization? drf юзаю
jwt? oauth2?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Andrey
jwt? oauth2?
ничего из этого, просто drf auth
источник

A

Andrey in Django [ru] #STAY HOME
Anton Fircak
ничего из этого, просто drf auth
У drf есть веб морда, через инструменты разработчика посмотри как она шлёт
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
Эксперты, подскажите, является ли данная вьюха быдлокодом?
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
# площадки
class IntranetUsersDatatableView(ClientObjectsDatatableView):
   model = IntranetUsers
   formset = UserForm
   viewname_create = 'portal:create_area'
   viewname_edit = 'portal:edit_area'
   create_object_title = 'Новая площадка'

   datatable_options = {
       'columns': [
           ('Тип площадки', 'tip__name'),
           ('name'),
           ('address_primary'),
           ('address'),
           (None, 'phone', make_tel_link),
           (None, 'polz_id', 'get_user_url'),
           (None, 'kontakt', 'get_user_url'),
           ("Время работы", None, 'get_work_time'),
           ("Дата и время\n предоставления услуг\n по контракту", None, 'get_contract_time'),
           ("Номер контракта", 'kontrakt_id__dogovor'),
           ('prof'),
           (None, 'komm', helpers.make_xeditable(extra_attrs=['emptytext'], emptytext='не указан', type='textarea')),
           ("modal_header", None, 'get_modal_header'),
           ("edit", None, 'get_edit_url'),
           ("delete", None, 'get_delete_url')
       ],
       'hidden_columns': ['modal_header', 'edit', 'delete', 'city'],
       'unsearchable_columns': ["Время работы", "Дата и время\n предоставления услуг\n по контракту"]
   }

   field_mapping = {'tip': 0, 'name': 1, 'address_primary': 2, 'address': 3, 'phone': 4, 'polz_id': 5, 'kontakt': 6,
                    'rabota_from': 7, 'rabota_to': 7, 'days': 8, 'kontrakt_id__dogovor': 9, 'prof': 10, 'komm': 11}

   def get_contract_time(self, instance, *args, **kwargs):
       try:
           kontrakt = IntranetKontrakt.objects.get(pk=instance.kontrakt_id.id)
       except IntranetKontrakt.DoesNotExist:
           return 'нд'

       work_days = ''
       days = kontrakt.days.split(';')
       for day in days:
           if len(day) == 0:
               continue
           if len(work_days) > 0:
               work_days += ', '
           if day == '1':
               work_days += 'рабочие'
           if day == '3':
               work_days += 'пн'
           if day == '4':
               work_days += 'вт'
           if day == '5':
               work_days += 'ср'
           if day == '6':
               work_days += 'чт'
           if day == '7':
               work_days += 'пт'

       if kontrakt.usluga_from == instance.usluga_to and kontrakt.usluga_from_min == kontrakt.usluga_to_min:
           return 'Круглосуточно'
       else:
           return work_days + '. ' + str(kontrakt.usluga_from) + '.' + str(kontrakt.usluga_from_min) + \
                  '-' + str(kontrakt.usluga_to) + '.' + str(kontrakt.usluga_to_min) + " МСК"

   def get_work_time(self, instance, *args, **kwargs):
       if instance.rabota_from == instance.rabota_to:
           return 'Круглосуточно'
       else:
           return str(instance.rabota_from) + '-' + str(instance.rabota_to) + " МСК"

   def get_user_url(self, instance, *args, **kwargs):

       if kwargs['field_data'][1] == 'polz_id':
           if instance.polz_id is None:
               return 'нд'
           try:
               polzovatel = IntranetPolzovatel.objects.get(pk=instance.polz_id.id)
           except IntranetPolzovatel.DoesNotExist:
               return 'нд'
       else:
           if instance.kontakt is None:
               return 'нд'
           try:
               polzovatel = IntranetPolzovatel.objects.get(pk=instance.kontakt.id)
           except IntranetPolzovatel.DoesNotExist:
               return 'нд'

       data = kwargs.get('default_value', instance)
       href = reverse_lazy('portal:edit_polzovatel', kwargs={'client_id': instance.kid, 'object_id': polzovatel.id})

       if data is not None:
           data = '<a href="{href}" class="btn-show-form" data-header="Пользователь">{name}</a>'.format(href=href, name=polzovatel.fio)
       return data
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME


   def get_date_add(self, instance, *args, **kwargs):
       if instance.time_add == 0:
           return '-'
       try:
           return datetime.datetime.fromtimestamp(instance.time_add).strftime('%d.%m.%Y %H:%M:%S')
       except:
           return '-'

   def get_modal_header(self, instance, *args, **kwargs):
       return 'Площадка ' + instance.name

   def get_edit_url(self, instance, *args, **kwargs):
       edit_url = reverse_lazy('portal:edit_area', kwargs={'client_id': instance.kid, 'object_id': instance.id})
       return edit_url

   def get_delete_url(self, instance, *args, **kwargs):
       delete_url = reverse_lazy('portal:delete_area', kwargs={'client_id': instance.kid, 'object_id': instance.id})
       return delete_url

   def get_context_data(self, **kwargs):
       self.add_url = reverse_lazy('portal:create_area', kwargs={'client_id': self.client_id})
       context = super(IntranetUsersDatatableView, self).get_context_data(**kwargs)
       return context
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
соответсвующая ей модель
источник

DN

Denis Nikolaev in Django [ru] #STAY HOME
class IntranetUsers(models.Model):
   PROF = (
       ('Да', 'Да'),
       ('Нет', 'Нет'),
   )

   id = models.AutoField(unique=True, primary_key=True)
   city = models.CharField(max_length=255, null=True, blank=True, verbose_name='Город')
   tip = models.ForeignKey('IntranetTip', on_delete=models.CASCADE, db_column='tip', verbose_name='Тип площадки')
   address_primary = models.TextField(blank=True, verbose_name='Адрес')
   address = models.TextField(blank=True, verbose_name='Комментарии к адресу')
   phone = models.CharField(max_length=255, null=True, blank=True, verbose_name='Телефон')
   rabota_from = models.IntegerField(blank=True, verbose_name='Начало рабочего дня')
   contact = models.CharField(max_length=255, null=True, blank=True, verbose_name='Пользователь')
   rabota_to = models.IntegerField(blank=True, verbose_name='Конец рабочего дня')
   usluga_from = models.IntegerField(blank=True, null=True, verbose_name='Начало предоставления услуги')
   usluga_to = models.IntegerField(blank=True, null=True, verbose_name='Конец предоставления услуги')
   dogovor = models.CharField(max_length=255, blank=True, verbose_name='Номер договора')
   start = models.IntegerField(blank=True, null=True, verbose_name='Старт?')
   email = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта')
   email_ot = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта для отчетов')
   email_buh = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Почта бухгалтерии')
   prof = models.CharField(max_length=3, choices=PROF, default='Нет', verbose_name='Проводится профилактика?')
   time_add = models.IntegerField(blank=True, null=True, verbose_name='Время добавления')
   kid = models.IntegerField()
   phone2 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный телефон')
   phone3 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный телефон 2')
   contact2 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный контакт')
   contact3 = models.CharField(max_length=255, null=True, blank=True, verbose_name='Дополнительный контакт 2')
   name = models.CharField(max_length=255, blank=True, verbose_name='Дополнительное название')
   politika = models.CharField(max_length=20, null=True, blank=True, verbose_name='Политика лицензирования')

   kontakt_no = models.IntegerField(blank=True, null=True, verbose_name='Номер контакта?')
   komm = models.TextField(blank=True, verbose_name='Комментарий')
   kontrakt_id = models.ForeignKey('IntranetKontrakt', on_delete=models.CASCADE, db_column='kontrakt_id', verbose_name='Контракт')

   polz_id = models.ForeignKey('IntranetPolzovatel', related_name="contact_user", on_delete=models.CASCADE, db_column='polz_id', verbose_name='Контактный сотрудник', blank=True, null=True)
   kontakt = models.ForeignKey('IntranetPolzovatel', related_name="license_user", on_delete=models.CASCADE, db_column='kontakt', verbose_name='Контакт для лицензирования', blank=True, null=True)

   class Meta:
       managed = True
       db_table = 'intranet_users'

   def __str__(self):
       city = ''
       if self.city:
           if RepresentsInt(self.city):
               tmp = IntranetCity.objects.get(pk=self.city)
               if tmp is not None:
                   city = tmp.name
           else:
               city = self.city

       if self.name != '':
           return u'{0}'.format(city + ' - ' + self.tip.name + ' - ' + self.name)
       else:
           return u'{0}'.format(city + ' - ' + self.tip.name)
источник