Задать вопрос
  • Почему не подхватывается изображение в 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 января для всех сразу.

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

    @marazmiki
    Укротитель питонов
    Если размещение самой формы на главной странице можно понять, то обработку — уже нет. Это неправильно и не нужно этого хотеть.

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

    Или Вас этот вопрос интересует сугубо теоретически?
    Ответ написан
    2 комментария
  • Как реализовать несколько изображений в моделях?

    sim3x
    @sim3x
    отдельное приложение images

    отдельная модель images
    Ответ написан
    Комментировать
  • Django-endless-pagination, как поставить задержку?

    sim3x
    @sim3x
    Зажержку ставить не нужно

    Нужно изменить
    https://github.com/frankban/django-endless-paginat...

    а точнее добавить туда
    $.ajaxSetup({
        beforeSend: function (xhr, settings) {
    /// показать лоадер
        },
        complete: function (xhr, settings) {
    /// убрать лоадер 
        },
        error: function (xhr, settings) {
    /// 
        }
      });

    api.jquery.com/jQuery.Ajax
    Ответ написан
    Комментировать
  • Джанго 1.8 игнорирует models.TextField, что не так?

    crazyzubr
    @crazyzubr
    Python backend-developer
    Почему стоят запятые в конце строк?

    webroot = models.TextField(blank=True),

    tpl = models.TextField(),

    Скорее всего в этом причина. Запятые там лишние.
    Ответ написан
    Комментировать
  • Нужен ли мне django-rest-framework?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Нет, он избыточен будет для вашей задачи.
    Ответ написан
    Комментировать
  • Прикладная математика как второе высшее для программиста?

    Mlack
    @Mlack
    iOS dev, *nix lover, userR
    Здесь не будет верного ответа, который будет абсолютно правильным. Здесь как можно ответить "да, поступай, ведь только так ты сможешь получить полную и структурированую базу знаний", так и "нет, зачем еще раз тратить время на непонятное обучение всего и вся, лучше набери себе книг нормальных, и сиди сам учи\решай\доказывай и т.д.". Поэтому я просто поделюсь своей идеей в данном вопросе.
    Мое личное ИМХО, которое может быть как для кого-то правильным, так и в корне неверным: поступать стоит, но(!) если ты точно уверен в ВУЗе, в который планируешь поступать, а точнее в той кафедре, куда хочешь!
    Начну с далекого: математика - "царица всех цариц". И да, хоть я и всего лишь на втором курсе университета, я только недавно РЕАЛЬНО столкнулся с тем, что так часто повторяют многие матерые програмисты на разных умных формуах: "матан нужен, полюбому!". И видя все те дисциплины, которые были названы выше, я точно могу сказать - тут без универа никак.
    Поясню на собственном примере - я поступил в ВУЗ, который считается лучшим техническим вузом страны (КПИ, привет). Но поступил не на очень популярный факультет, про который только глухонемой не слышал, а на фак. малоизвестный, но по специальности - computer science.
    Дальше, как и все - у меня был "обычный" курс высшей математики (3 семестра), семестровый курс по теории алгоритмов, линейной алгебры\выч.геома и дискретки, а так же семестр теории вероятности. Я, как и все добросовестные студенты, посещал лекции, решал задачки на практиках, учил теоремы с доказательствами (благо, было просто, т.к. с физмата) и особо не понимал, где же все таки мне может все это пригодиться (уточню, курс по теор.алгоритмов был довольно слабым, поэтому привел его в пример с остальными предметами чисто для статистики). И жил я так себе спокойненько, и дальше бы продолжал жить не задумываясь над ролью матана в моей жизни, как тут случайно один мой преподаватель навел меня на своего коллегу, который начал вести такой предмет как "Структурное и статическое распознавание образов". Тема ооочень интересная (сам до этого немного занимался machine learning, хотя это и немного не то), и я решил пойти, попробовать.
    Что ж, после первой лекции а затем еще и практики, сказать, что я "прозрел" и понял, зачем мне вся та мат.база - ничего не сказать! При чем, чем дальше я изучал данный предмет, а вернее, предметную область, тем больше я понимал, что "как жаль, что я поступил на факультет, где такая слабая математика".
    И действительно, общаясь с другими ребятами с физ.-тех. факультета, с которыми я хожу на этот предмет, я понял - если я все же хочу остаться в "теме" и дальше заниматься распознаванием, то я должен буду кроме всех моих знаний еще и "наверстать упущенное", т.е. сам начать изучать те разделы и темы в мат.анализе\теории множеств\диск.математике\аналит.геометрии etc, которых у меня просто напросто не было!
    Но перед тем, как подвести итог, сразу хочу оговориться: все возможно, и если у тебя хватит мотивации, сил и всего того, что бы самому(!) освоить минимум ~ около двух первых лет хорошего курса университета специализации математика (или около того) - тогда тебе точно универ не нужен, вполне хватит списка литературы. После изучения всего вышеперечисленого материала, в дальнейшем спокойный вход будет обеспечен в такие направления, как машинное обучение или же распознавание образов! Но я, честно скажу, таких людей не встречал. Все мои знакомые и друзья в первую очередь изучали эти предметы в университете, а уже после начали заниматься чем-то более "интересным" :)
    Поэтому, исходя лично из своего опыта, я бы посоветовал не лениться и все же поступить! Обучаться никогда не поздно! Главное - желание!
    Ответ написан
    Комментировать
  • Каким должен быть адрес у админки?

    opium
    @opium
    Просто люблю качественно работать
    вообще без разницы, дело вкуса
    Ответ написан
    Комментировать
  • Каким должен быть адрес у админки?

    Romanche
    @Romanche
    Жизнь–игра. Задумано плохо, но графика потрясная!
    Думаю не суть, главное, что бы никто, кроме админа не смог зайти.

    А так "Как назовешь, так и поплывёт" :)
    Ответ написан
    Комментировать