Задать вопрос
  • Как решить ошибку в кортеже Python 2.7?

    bobrovskyserg
    @bobrovskyserg
    Десятичные целые НЕ имеют лидирующего нуля (кроме самого нуля, ессвенно)
    s = {
        'param': ( (1,9,2005), (u'other') )
        }
    Ответ написан
    Комментировать
  • Как решить ошибку в кортеже Python 2.7?

    @kazmiruk
    Потому что это запись восьмеричного числа начинается в Питоне с 0, а в восьмеричной системе счисления нет 8 и 9.
    Ответ написан
    Комментировать
  • Проблема с кодировкой Python(Django)?

    un1t
    @un1t
    u'%s' % str(value)
    это вообще странное выражение, что ты хочешь сделать - unicode(value)?

    >>> s = u'Stretch fabric piqué polo'
    >>> s
    u'Stretch fabric piqu\xe9 polo'
    >>> print s
    Stretch fabric piqué polo
    >>>
    Ответ написан
    7 комментариев
  • Как получить url в django?

    @marazmiki
    Укротитель питонов
    request.path, либо request.path_info
    Ответ написан
    Комментировать
  • Как решить проблему с url django?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    В вашем паттерне (?P\\w+.*)/$ точка может быть только в конце.
    Ответ написан
    3 комментария
  • Можно ли реализовать вычисление значения поля непосредственно в модели?

    @marazmiki
    Укротитель питонов
    Переделать-то можно, но тогда это это поле придётся добавлять в схему. А заполнять при сохранении:
    class Zzz(Superclass):
        aaa = models.ForeignKey(Aaa)
        bbb = models.ForeignKey(Bbb)
        ccc = models.ForeignKey(Ccc)
        # Объявили поле и на всякий случай запретили редактировать его из админки или через форму.
        ddd = models.IntegerField(editable=False, default=0) 
    
        @property
        def eee(self):
            return self.aaa, self.bbb, self.ccc
    
        def save(self, *args, **kwargs):
            # Непосредственно перед физическим сохранением вычисляем значение поля
            self.ddd = reduce((lambda x, y: x + y), [e.some_param for e in self.eee])
            return super(Zzz, self).save(*args, **kwargs)
    Ответ написан
    Комментировать
  • Подгрузка контента Django?

    zigen
    @zigen
    Я в проекте использовал Django-endless-pagination
    Легко настраивается и интегрируется во view.
    Подгружается по скроллу - как в твиттере. Там для этого есть твиттер стайл

    https://django-endless-pagination.readthedocs.org/...
    Ответ написан
    Комментировать
  • Почему не подхватывается изображение в Django?

    sim3x
    @sim3x
    джанга подефолту не занимается твоей статикой
    from settings import DEBUG, MEDIA_URL, MEDIA_ROOT
    if DEBUG:
        urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT)
        urlpatterns += staticfiles_urlpatterns()
    Ответ написан
    3 комментария
  • Почему не подхватывается изображение в Django?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    urls.py
    from django.conf.urls.static import static
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    Ответ написан
    Комментировать
  • Каким образом поменять код django?

    sim3x
    @sim3x
    def __unicode__(self):  # python 2
    def __str__(self):  # python 3


    Так же буду благодарен за хорошую инструкцию отображающихся миниатюр изображений в админке

    stackoverflow.com/questions/1385094/django-admin-a...
    https://google.com/search?q=django+admin+show+images
    Ответ написан
    Комментировать
  • Каким образом задаются ссылки в Django?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Django тут не при чем, просто указывайте адреса начинающиеся с /: /index и т.д.
    Ответ написан
    2 комментария
  • Что такое олимпиадное программирование?

    barmaley_exe
    @barmaley_exe
    Олимпиадное и спортивное программирование действительно два имени одной сущности.

    Обычное (промышленное) программирование нацелено на решение бизнес задач с использованием компьютеров. Такие задачи, как правило, характеризуются следующим:

    • большой фронт работ (т.е. разрабатывается не в одиночку, а большой командой)
    • имеют большой цикл поддержки (т.е. программа, написанная Вами сегодня наверняка пригодится через полгода-год),
    • должны быть эффективны с точки зрения бизнеса (иногда алгоритмическая эффективность влечёт усложнение решения, что приводит к увеличению издержек. Далеко не всегда повышение алгоритмической эффективности приводит к ощутимому бизнес профиту)


    Даже если вы не продаёте программный продукт, а, например, пишете opensource программу или библиотеку, Вас всё равно интересует бизнес-эффективность: хотелось бы иметь простой и надёжный код (чем алгоритм сложнее — тем проще допустить ошибку), возможность расширения и изменения программы спустя некоторое время (т.е. думать об архитектуре).

    Спортивное программирование, в свою очередь, сосредоточено лишь на решении формальных задач с максимальной эффективностью в плане времени исполнения и объёма затрачиваемой памяти. Самым эффективным способом практики этого вида программирования являются соревнования, проводимые, например на codeforces или topcoder. Такие соревнования длятся несколько часов и предлагают несколько задач различной сложности. Чем быстрее и больше участник решил — тем больше он молодец.

    Таким образом
    • программы оказываются очень небольшие по размеру — не более пары сотен строчек
    • срок жизни такой программы составляет, как максимум, несколько часов, поэтому написать её можно как угодно, лишь бы работала.

      Например, однобуквенные переменные пишутся гораздо быстрее длинных и осмысленных, однако их предназначение понятно лишь самому автору и лишь в течение крайне небольшого срока после написания программы.
    • поскольку программа невелика, нет необходимости в разбиении её между несколькими программистами
    Ответ написан
    Комментировать
  • Как правильно закончить цикл?

    @Alexander1705
    В цикле у вас не изменяются значения ни b, ни d. Так что, если условие изначально верно, оно никогда не станет ложным.
    a = 'False'
    c = 'Try again'
    b = input('4*100-54=')
    d = '346'
    while b != d:
        print(a)
        print(c)
        b = input('4*100-54=')


    P.S. Пользуйтесь тегом <code lang="python"></code>
    Ответ написан
    1 комментарий
  • Как избежать статических списков в классах python?

    @Alexander1705
    Когда вы объявляете переменные-члены, так как вы это сделали, они связаны с классом, а не с объектом. По аналогии с С++, вы создали переменные-члены elements и N статическими.

    Вам нужно создавать переменные-члены в конструкторе, а не в определении класса:
    class Vector:
    
      def __init__(self, N):
        self.elenent = []
        self.N = N
        for i in range(N):
          self.element.append(0)
    
      def __str__(self):
        out_str = ""
        for i in range(self.N):
          out_str = out_str +  str(self.element[i]) + " "
        return out_str
    
      def generate(self):
        random.seed()
        for i in range(self.N):
          self.element[i] = float(random.randint(1, 100))


    Или использовать специальную переменную __slots__:
    class Vector:
    
      __slots__ = ['element', 'N']
    
      def __init__(self, N):
        self.elenent = []
        self.N = N
        for i in range(N):
          self.element.append(0)
    
      def __str__(self):
        out_str = ""
        for i in range(self.N):
          out_str = out_str +  str(self.element[i]) + " "
        return out_str
    
      def generate(self):
        random.seed()
        for i in range(self.N):
          self.element[i] = float(random.randint(1, 100))


    Отличие в том, что во втором случае вы уже не сможете добавить другие переменные-члены, и объекты будут занимать меньше памяти.
    Ответ написан
    Комментировать
  • Сервис-ориентированная архитектура на django, как?

    sim3x
    @sim3x
    Такое ТЗ. Например, один веб-сервис получает некоторый .xls файл, парсит его, выдаёт на форму данные оттуда.


    -> пользователь загружает файл через форму input_form.html
    -> nginx пишет xls в директорию
    пользователь запрашивает состояние обработки по /progress_my_file/ через ajax
    -> на событие изменения директории повешен скрипт
    для обработки файла нужны данные из джанги
    -> ./manage do_some_actions_with_django /path/to/file.xls

    _____________
    Слишком общий вопрос

    Дай больше деталей
    Ответ написан
    9 комментариев
  • Возможно ли встроить картинку в .css файл?

    CodeByZen
    @CodeByZen
    php, js, my/mssql, sqlite, html, css, it-consult
    <img
    src="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
    AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
    ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
    a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
    ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
    F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
    hhx4dbgYKAAA7"
    alt="Larry" />


    так-же и в css

    background-image: url("data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7");
    Ответ написан
    Комментировать
  • Как проверить Request.path в Django?

    @deliro
    id_alb = models.AutoField(primary_key=True) - плохая практика. С какой целью вы изменили стандартный id на точно такой же, но назвали id_alb?
    В общем-то, это не единственное замечание к Вашему коду. URL у Вас называется с заглавной буквы и, вообще, называется русским транслитом (очень плохая практика). {% url 'Albom' cat.id_cat %} нужно заменить на {{ cat.get_absolute_url }} и, соответственно, в models.py добавить метод модели Cat:
    # В начале:
    from django.core.urlresolvers import reverse
    # Метод модели:
    def get_absolute_url(self):
        return reverse('name_of_your_detail_view_for_cutties', args=[self.pk])


    Название поля cat.Name_cat - дублирование + заглавная буква в переменной (а нужно cat.name). в URLах регулярка должна заканчиваться /$, а не просто $. В общем, дело Ваше, но я советую почитать PEP8.
    Ответ на Ваш вопрос намного проще:
    $(function(){
      function stripTrailingSlash(str) {
        if(str.substr(-1) == '/') {
          return str.substr(0, str.length - 1);
        }
        return str;
      }
    
      var url = window.location.pathname;
      var activePage = stripTrailingSlash(url);
    
      $('.nav li a').each(function(){
        var currentPage = stripTrailingSlash($(this).attr('href'));
    
        if (activePage == currentPage) {
          $(this).parent().addClass('active');
        }
      });
    });
    Ответ написан
    7 комментариев
  • Как проверить Request.path в Django?

    @marazmiki
    Укротитель питонов
    А точно id_cat? По умолчанию джанга делает совсем не так. Обычно у моделей первичный ключ называется id. Или, если использовано нестандартное название, можно обратиться к нему через алиас pk.

    Таким образом, если я правильно понял, что речь идёт о переборе кверисета, то условие должно выглядеть как-то так:

    <li  {% if  cat.id in request.path %}class="active"{% endif %} >


    Не самое, надо сказать, удачное решение. Правильнее было бы, к примеру, реализовать у модели метод get_absolute_url() и сравнивать request.path с ним в цикле.
    Ответ написан
    2 комментария
  • Как обновить дату в поле модели django при смене текущего года?

    Обновлять по крону - это красивое решение. У вас дата очень напрашивается быть в БД и работать с миром как обычное поле. Как я понимаю, хранится она долго, создается при сохранении объекта модели, обновляется раз в год. Здесь не нужен метод, который проверяет ее актуальность, потому что вам эта проверка не нужна подавляющее большинство времени. Должен быть просто метод, заполняющий дату и ничего больше не делающий. Тем более, если после 1 января у вас будет пик посещений, вы получите дополнительную нагрузку на БД, плюс еще и неактуальные в ней данные останутся. Привязывать обновление данных к запросу нехорошо. Гораздо лучше крон, который сделает ее актуальной незаметно в 4:03 утра 1 января для всех сразу.

    Если бы это была быстро меняющаяся информация, то тогда подобный метод + кэш были бы кстати.
    Ответ написан
    Комментировать