Задать вопрос
  • Как вывести изображение в шаблон Django?

    Запускаете я так понял на дев сервере (manage.py runserver)?
    Если так, то веб сервер джанго не умеет сам отдавать медиа файлы.

    Можете попробовать в urls.py прописать следующее:
    if settings.DEBUG:
        urlpatterns += patterns(
            'django.views.static',
            (r'media/(?P<path>.*)',
            'serve',
            {'document_root': settings.MEDIA_ROOT}), )


    www.tangowithdjango.com/book/chapters/templates_st...

    UPDATE:
    И view перепишите
    from .models import Slide
    
    def slider(request):
        slides = Slide.objects.all()
        return render(request, 'main.html', locals())


    Во вью вы не передаёте объекты в темплейт, либо в словарь заключать (context = {"slides": slides} и в рендере добавлять context, либо в рендере передать locals())
    Ответ написан
    Комментировать
  • Чем отличаются STATIC_ROOT, STATIC_URL, MEDIA_ROOT, MEDIA_URL и подобные?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    STATIC_ROOT - место хранения на диске ваших статичных файлов (js, стили, изображения)
    STATIC_URL - префикс url'a до этих файлов

    MEDIA_ROOT - место хранения на диске файлов, загружаемых пользователями
    MEDIA_URL - префикс url'a до этих файлов
    Ответ написан
    Комментировать
  • Чем отличаются STATIC_ROOT, STATIC_URL, MEDIA_ROOT, MEDIA_URL и подобные?

    @marazmiki
    Укротитель питонов
    В MEDIA_ROOT сохраняются файлы, которые загрузил пользователь. Или которые сгенерировались в результате работы скриптов. А STATIC_ROOT предназначен для хранения "нединамических" файлы, которые самостоятельно не изменяются в процессе работы и являются частью проекта. Стили, скрипты, картинки оформления, шрифты.

    А MEDIA_URL и STATIC_URL — урлы, по которым доступны директории для медиафайлов и статики соответственно

    Что касается слайдера: загружаемые файлы попадут в MEDIA_ROOT. А получить URL каждого кадра можно так:

    <img src="{{ slide.image.url }}">
    Ответ написан
    Комментировать
  • "Светите" ли вы свои банковские карты в интернете?

    @RadmirZ
    Делаем интернет-магазины на движке minicart.su
    Карту свечу но только там где доверяю, и кроме того почти везде чтобы списать деньги нужно смс с кодом подтверждения, поэтому особо не парюсь.
    Ответ написан
    Комментировать
  • Сложно ли написать свой блог на nodejs?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Блог это конечно же решаемая задача для ноды, но эта ниша уже занята другими языками и фреймворками, поэтому блоги на ноде пишут редко, подробнее посмотрите вот этот мой ответ о том, что лучше писать на ноде, что имеет смысл, а что нет: Что можно написать на Node.js?
    Мой Вам совет, учите сначала платформу, смотрите видеоуроки тут https://learn.javascript.ru/nodejs-screencast пробуйте свои сыли на практике тут nodeschool.io и выбирайте готовый движек для блогов тут https://github.com/sindresorhus/awesome-nodejs
    Сделать блог это может означать:
    1. Взять движек блогов и сделать на нем блог
    2. Написать движек блогов и сделать на нем блог
    Делать блог на голом экспрессе, это почти то же, делать блог вообще на голой ноде, это можно только если Вы уже профессионал и хорошо понимаете, что делаете. Иначе нужно идти по первому варианту и брать все готовое, вот еще одно место где это готовое можно поискать: nodeframework.com
    Например: https://ghost.org/ или hexo.io
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

    kumaxim
    @kumaxim
    Web-программист
    Господин начинающий, у Вас извращенный подход к программированию в целом.
    Программа - это способ более эффективно решить какую-то задачу... способ достижения какой-то заданной цели с меньшим количеством ресурсов.

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

    Что я описал выше? Это способ решения одной конкретной задачи с гораздо меньшим количеством ресурсов, в данном случае - времени. Эта программа экономит время на подготовку бумаг, на расчеты сумм налогов, снижает вероятность ошибки и т.д. Это ее основная ценность, которую несут ее создатели обществу

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

    К чему я все здесь это пишу? Я пытаюсь донести до Вас, что нет Вам смысла учить программирование на какой бы то ни было языке ради самого программирования. Нет смысла Вам учить алгоритмы, структуры, паттерны и т.д. ради их самих.

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

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
    11 комментариев
  • С какого языка изучать программирования (с нуля)?

    @bromzh
    Drugs-driven development
    Ты ещё не умеешь программировать (и искать в интернете, ведь тут такие вопросы задают минимум по 1 разу в неделю), но уже решил, что питон - это несерьёзный несовременный язык. Видимо по этим причинам он самый популярный язык для обучения в технических вузах США.
    Зачем тебе чужое мнение? Ты вполне самостоятельный!
    Ответ написан
    8 комментариев
  • Какую область прокачать для работы на фрилансе (Графика, Программирование)?

    Jeiwan
    @Jeiwan
    Прокачатьcя во фронтенде - получить ачивку "Front-end develop". Создать портфолио, набраться опыта).
    Двинуться к Back-end (Ruby/Rails).
    Параллельно учиться рисовать и работы выкладывать на стоки.

    Ну вот ты и решил свою проблему. Что ещё нужно? Пробуй, что можешь, и делай, что нравится. Как там у тебя всё сложится — хрен его знает, у бабы Ванги сегодня выходной.
    Ответ написан
    2 комментария
  • Как сделать фильтр из моделей django, поля разные, значения схожие?

    syschel
    @syschel
    freelance/python/django/backend
    Моё виденье.
    Структуру можно сделать двух типов
    1. Всё в одну модель, кроме списков(списки через связи ForeignKey/ManyToManyField/OneToOneField подгружать из других моделей или choices, они задаются администратором сайта и всегда статичны). Пускай даже будет 40 полей у модели.
    2. Одна базовая, где общие данные. И куча типовых, относящихся связями к базовой модели, но имеющие свои уникальные поля. Списки так же как и в первом варианте, выносил в отдельные модели или choices.
    Я бы выбрал второй вариант.

    Поиск. Тут два варианта.
    1. Сфинск или другие независимые поисковые программы работающие с джангой (Solr, Elasticsearch, Whoosh, Xapian).
    2. Делать самой джангой и воевать за логику и ресурсы. То есть весь поиск прописывать руками, всю логику возможных вариантов.
    Но я бы выбрал первый вариант, слишком много будет условий и по сути написание велосипеда. А второй вариант подходит под более "простой" тип поиска.
    Ответ написан
    Комментировать
  • Какой ос пользоваться для написания на java?

    gadfi
    @gadfi
    https://gamega.org
    Какой ос пользоваться для написания на java?

    Оставайся на винде. Серьезно, был бы это Python то linux был бы оправдан, для ruby тоже лучше что то никсовое ) а вот для java по серьезной разницы нет. Все за тебя сделает maven, не трать время зря на изучение ос (хотя чтоб достаточно уютно себя чувствовать под той же ubuntu больше недели времени не займет), потрать его лучше на изучение java
    Ответ написан
    1 комментарий
  • Разница, что лучше/удобнее Django-cms ИЛИ FeinCMS ИЛИ Mezzanine?

    @marazmiki
    Укротитель питонов
    Мне кажется, что "лучше" или "удобнее" — субъективные метрики. И не очень абсолютные. К примеру, меня бесит grappelli (приложение, изменяющее внешний вид админки), а кому-то она наоборот нравится. Mezzanine, насколько я помню, grappelli использует. Мне это покажется дичайшим минусом, а кому-то плюсом.

    Личный опыт: довелось довольно плотно поработать с django-cms и fein. Они, в общем-то работают по одному принципу, хотя и используют разную терминологию (django-cms для расширения функциональности страницы плагины, которые помещаются в плейсхолдеры, а fein — контент-тайпы и области соответственно), суть примерно одна. Хоть и слегка по-разному реализовано.

    Сейчас ключевое отличие djnago-cms и fein в том, что первая, начиная вроде бы с версии 3.х, перешла целиком на фронтэнд-редактирование контента. Админки как таковой нет, вместо неё редирект на страницу с включенным редактированием. А Фейн управляется из админки, как и django-cms ранних версий.

    Для программиста обе cms относительно удобны и легки для разработки и предоставляют интерфейс для написания плагинов (или контент-тайпов, в зависимости от). Но если лезть глубоко под капот, то в django-cms всё гораздо сложнее в плане моделей и отношений. Поэтому очень мудрым шагом со стороны её разработчиков было предоставить "низкоуровневое" апи с функциями вида create_page(), которое на деле создаёт десяток записей в десяти таблицах :-)

    По поводу удобства редактирования контента, опять же субъективно: оба ужасны. Наверное, фейн даже в большей степени. Но при этом он более очевиден. Чего не скажешь о фронтэнд-редактировании django-cms, где вообще без поллитры не разобраться: сначала перевести страницу в режим редактирования, потом переключить непонятный тумблер контент\структура (или что-то такое, сейчас точно не помню), потом выбрать редактируемый плагин... потом не запутаться в кнопках сохранения и публикации, и так далее. Мой коллега придерживается мнения, что показывать такое пользователям просто нельзя.

    Кстати, пользователь легко сможет сломать дерево сайта (вплоть до вызова 500-й вместо захода на любую из страниц), просто активно перетаскивая в админке ноды дерева туда-сюда. Это касается и fein, и django-cms.

    Что до mezzanine. Запомнилось так: использует grappelli, зачем-то есть встроенные магазин и блог, которые сааавсем не на каждом сайте нужны. Плюсов не запомнил, снёс. Хотя сейчас, открыв ради любопытства документацию, вижу что-то про custom content types, так что, вероятно, будет всё то же самое, что и fein/django-cms, но в зелевноватых тонах grappelli. И с магазином :-)
    Ответ написан
    1 комментарий
  • Совет по PHP(freelance)?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    Зайдите на hh.ru и поищите требования на зарплаты выше 100к для вакансии "Разработчик php" или иной, интересующей Вас с максимальной оплатой. И начинайте эти технологии, фреймворки, системы контроля версий, базы данных учить. Читайте книги, статьи по теме и смотрите видеокурсы. Чтобы закрепить материал попытайтесь делать что-то свое.
    Затем идите и получайте опыт в реальных проектах на реальных рабочих местах. Какие-то наработки и портфолио, код, у Вас уже будет, поэтому устроиться куда-то особых проблем вызвать не должно. По-другому никак. В процессе обучения хорошо бы и проект делать покруче и наставника иметь.

    Фриланс - это вообще дно, там нет нормальных задач. Если Вы хотите делать сайты для Васяна, то может это и выход, но если Вы хотите делать крутые штуки, сложные и большой командой, скажем так, инновационные и полезные проекты, интересные, то на фрилансе их не будет. Потому что нет на фрилансе заказчиков, готовых оплачивать труд команды разработчиков годами.
    Ответ написан
    Комментировать
  • Перспективы Delphi?

    @kvsemenov
    Не могу сказать про Delphi (он до сих пор живёт как дорогущий коммерческий проект), но его Open Source реинкарнация - Lazarus - вполне даже пригодна для многих задач. Поддерживает компиляцию в Win(32/64), Mac (32), Linux (32/64), FreeBSD итд., в том числе с возможностью кросс-компиляции; а также iOS и Android. Я им пользуюсь только для того чтобы быстро собрать редактор БД с какой-нибудь сложной структурой - очень уж быстро всё получается по сравнению с другими средствами разработки.
    Ответ написан
    Комментировать
  • Как настроить mod_wsgi для Apache на Windows XP?

    sim3x
    @sim3x
    Для разработки на джанго не нужен апач python manage runserver
    Для продакшена - не нужен апач и винда
    Ответ написан
    Комментировать
  • Куда податься девушке в IT?

    @MJee
    Разработчик мобильных приложений для Android
    Не придумывайте!
    Я девушка программист, за 8 лет работы ни разу никакой дискриминации не испытывала. На собеседовании иногда спрашивали, почему я выбрала такую "мужскую" профессию, но это единичные случаи и обычно ответ "просто интересно" их целиком устраивал.

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

    Чем вы лучше других?
    Чем вы можете быть нам полезны?
    Почему вы думаете, что справитесь с этой работой?
    Ответ написан
    1 комментарий
  • Подгрузка контента Django?

    Я бы сделал следующим образом

    1) 1-ый вариант
    во вьюхах
    from django.core import serializers
    from .models import MyModel
    
    def my_view(request):
        if request.is_ajax():
            x = request.GET.get('value', 5)
            data = serializers.serialize('json', MyModel.objects.all()[:x] )   #тут по вкусу, можно все объекты, можно частями.
            return HttpResponse(data, content_type='application/json')
        else:
            return render(request, 'template.html')

    2) 2-ой вариант использовать Django-Rest-Framework

    И в шаблонах уже jQuery-Ajax, Angular и.т.п.

    Но я сам ещё совсем новичок в этом деле, поэтому могу ошибаться :)

    Update:
    Я нашёл вот такой вариант:

    $(window).scroll(function() {   
       if($(window).scrollTop() + $(window).height() == $(document).height()) {
           $.ajax({
                type: 'GET',
                url: '{% url 'app:json_view' %}', //Ссылка на вьюху
                dataType: "json",
                data: {'value': 10},  //Здесь можно передать данные в GET запросе, например сколько значений получить 
                success: function(data) {
                    // Ответ приходит в переменную data. Её и рендерим на страницу
                }
            }); 
      }
    });
    Ответ написан
    2 комментария
  • Подгрузка контента Django?

    @kazmiruk
    Джанга тут не при чем. Делаете апи (django-rest-framework можно использовать), а затем яваскриптом отслеживаете скролл на странице. Как только скролл подошел к нижней границе - вызываете апи с запросом на следующую порцию данных. Получив данные отрисовываете их.
    Ответ написан
    4 комментария
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

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

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

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария