• Где искать актуальные django приложения?

    syschel
    @syschel
    freelance/python/django/backend
    Самое первое место: www.djangopackages.com
    Тут можно смотреть подборки по "тематике".
    К примеру ваш запрос про месседжеры: https://www.djangopackages.com/grids/g/messaging/

    Второе место это PyPi.
    Ответ написан
    1 комментарий
  • Создание веб-страниц сайта на базе готовой БД. Как?

    syschel
    @syschel
    freelance/python/django/backend
    Вот здесь лежит цмс, которая вам нужна. Другого решения нету.
    Ответ написан
    1 комментарий
  • Как раскрутить клиента на поддержку?

    syschel
    @syschel
    freelance/python/django/backend
    1. Сервера у себя держать и оформлять их на себя. Любой чих через вас.
    2. Объяснить, что доработка или фикс багов своевременный, возможен только при оплате какой-то минимальной поддержки. Если есть оплата, то время отклика столько то часов (Не забудьте указать лимит и объём обращений на поддержку, выше лимита - за отдельный прайс/договор). Если же не было поддержки, то говоришь сразу, что время отклика может быть столько-то дней и дальше уже в очереди среди других заказов. Ибо время под их проблемы ты не резервировал и брал новые заказы, которыми и занимаешься.
    3. В договоре на разработку, сразу указывать поддержку.
    4. etc
    Ответ написан
    1 комментарий
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    syschel
    @syschel
    freelance/python/django/backend
    Самое сложное во фрилансе, не языки и технологии.
    • Умение продавать себя в толпе конкурентов. Это самое сложное. Есть много высококлассных специалистов, сидящих на среднем окладе. Они тупо не могут себя продать даже в другую компанию, а не редко и боятся менять привычное место.
    • Умение грамотно составить или согласовать ТЗ. Так что бы проблема заказчика решалась в оговоренные сроки и бюджет. А не перерастала в вечнострой с кучей доделок и переделок с базовым бюджетом. Когда обе стороны уже ненавидят друг друга. Ибо работая в офисе разработчиком, всё это ведут менеджеры и тим лиды, а вам спускают конкретные задачи. Вам же придётся научиться понимать, что хочет клиент, не разбирающийся в программировании, говоря то или это. Научиться понимать и предлагать те решения, которые будут ему актуальны с учётом технологий и отказывать в том, что сделать не реально. Находить компромиссы, но опять же, объясняя почему так или иначе.


    Самое лучшее для фрилансера, да и любого разработчика. Это большие и долгие проекты. Когда можно постоянно заниматься одним. А не вникать каждый раз по новой, не привыкать к новому заказчику. Да, тут есть шанс отупения и застоя в развитии, но это лечится средними своими проектами или доп работой небольшой. Хотя, если проект живой и развивающейся, руководство ищет способы развития бизнеса и само заинтересованно в росте. Тогда можно и на текущем проекте развиваться, пробуя новые технологии, службы, стеки. Это будет рост как специалиста.

    А технологии, языки. Это уже второстепенно. Главное развиваться. Ибо в попсовом PHP можно делать большие проекты и быть специалистом с большой стоимостью часа или на редком python/java сидеть и быдлокодить мелочь за копейки. Главное не метаться, а развиваться и расти, беря более сложные и более длинные проекты. И брать их не с "поддержкой", а с возможностью постоянного развития. Задачи "в стол", не интересны. А вот задачи на перспективу, на развитие. Это уже интересно. Ибо "в стол" это как правило теория(придумали, сделали, забыли). А развивающиеся, это практика на реальных условиях, когда в процессе приходится много менять (менять бизнес модель, менять архитектуру из-за возросших нагрузок, менять технологии).
    Ответ написан
    5 комментариев
  • Как работает cashback?

    syschel
    @syschel
    freelance/python/django/backend
    На примере онлайн магазинов. Есть партнёрские агрегаторы, которые платят за приведённого клиента или за совершённые им покупки, какой-то процент. Скажем 10% с продажи. То же самое под акции и купоны. За каждую покупку по твоей ссылке (реферальной) или твоему купону, тебе идут проценты.

    Далее. Ты создаёшь сайт аля купонатор/групон или аналог яндекс.маркета. Перенаправляя своих посетителей на сайты рекламодателей, через партнёрский агрегатор. Они там совершают покупки, ты за это получаешь какой-то процент. Из этого процента, ты отдаёшь часть денег назад твоему посетителю. Это и есть кешбэк. В офлайне он точно такой же, за покупки по твоей банковской карте или скидочной карте, ты получаешь процент от продажи. С этих денег ты часть возвращаешь клиенту, который совершил эту покупку.
    Ответ написан
    Комментировать
  • Что не так с моей функцией?

    syschel
    @syschel
    freelance/python/django/backend
    get_object_or_404() (source)
    Найти один объект, если не найден то показать 404
    У вас на поиске Heading, не находит его и выдаёт исключение (raise Http404), дальше не идёт выполнение кода. Так же будет ошибка если в базе найдётся больше одного объекта. Тоже выплюнет исключение в 404.
    Ответ написан
    2 комментария
  • Что делать, если заказчик просит убрать работу из портфолио?

    syschel
    @syschel
    freelance/python/django/backend
    Если говорим про программный продукт (не важно вёрстка то или серверная часть), дизайн и так далее:

    Договорное оформление прав на программное обеспечение
    1.2. Разработка ПО по заказу
    Вторым вариантом создания ПО является поручение его разработки фрилансерам.
    В таком случае отношения сторон должны оформляться гражданско-правовым договором. При выполнении работ по созданию ПО непосредственно физическим лицом (автором) заключается договор авторского заказа (ст.1288 ГК РФ). Аналогично решается вопрос при создании ПО коллективом авторов. В таком случае на стороне исполнителя просто указываются все авторы.

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

    Соответственно, в отношениях «заказчик – автор (фрилансер)» действует презумпция сохранения прав за автором, если договором не предусмотрено иное.

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


    И ещё: Разоблачение 12 юридических заблуждений о программ...
    Заблуждение: 5 . Чтобы стать владельцем программы достаточно нанять программиста и оплатить его работу по договору.
    На самом деле: Передача прав – это самостоятельный юридический акт, который должен однозначно фиксироваться договором и документацией. Чтобы вас признали единственным владельцем прав, это должно быть прямо зафиксировано в документах.
    Совет: Включайте в договор условия:
    (1) о выплате авторского вознаграждения;
    (2) о предоставлении или отчуждении прав Заказчику;
    (3) о невозможности отказа от права на обнародование.
    Передачу прав всегда оформляйте актом или включайте такие условия в исполнительскую документацию.


    Так же, во многих веб студиях ещё и копирайты свои ставят на сданный продукт. И убрать с сайта копирайт с ссылкой на "разработано ооо Рога и Копыта", стоит денег. Ибо "в стоимость работы, была заложена составляющая рекламы создателя", а убирая, её нужно погасить (оплатить).
    Ответ написан
    Комментировать
  • Онлайн Сторы на Django. Стоит ли переписывать?

    syschel
    @syschel
    freelance/python/django/backend
    Стоит.
    Проблема для студий на питоне обычно только в одном ключе- поиск разработчиков. Пыхарей найти проще как правило, А если город региональный, то вообще порой засада. Но если не зацикливаться на присутствии в офисе разрабов, а нормально организовать работу "удалённого офиса", то проблем не будет.
    Ответ написан
    6 комментариев
  • Фриланс для начинающего?

    syschel
    @syschel
    freelance/python/django/backend
    Советую начать с офлайн работы в своём регионе. Хотя бы годик. Пускай и в начале "за еду". Научитесь коммерческой работе, работе под руководителем. Работе с ТЗ, с изменением задач, со сроками, с взаимодействием смежников (дизайнеры, верстальщики, контенщики, менеджеры, программисты - они друг другу смежники в вебе, ваше направление не знаю). А потом уже идите во фриланс. Самое сложное в фрилансе, это себя продавать и вести общение с заказчиком. Это всё, можно отточить в офисе и на собеседованиях, потом на подработках с офлайн фрилансом. И только потом идти в интернет. Ибо запоров профиль на первом заказе на "нормальной" бирже, отрицательным отзывом заказчика, отмыться потом не сможете.
    Ответ написан
    1 комментарий
  • Почему в нынешнее время работодатели предъявляют высокие требования за маленькую ЗП?

    syschel
    @syschel
    freelance/python/django/backend
    Это старая тема, не новая, с начала нулевых идёт. Большинство работодателей не понимают, что они пишут, а тупо копируют чужие вакансии и ставят свои рейты.
    Ответ написан
    Комментировать
  • Как сделать group_by по определённому полю в Django 1.8?

    syschel
    @syschel
    freelance/python/django/backend
    Django 1.8.4
    queryset.filter(**params).only('dates', 'type_date').select_related(*select_rel).order_by('-dates', '-create')
    queryset.values('dates').annotate(count=Count('dates')).order_by() # Сбросил сортировку


    Получаю запрос
    SELECT `dates`, COUNT(`dates`) AS `count` 
    FROM `gigdate_dateall` 
    WHERE (`dates` IN (2015-08-31, 2015-09-01, 2015-09-02, 2015-09-03) AND `type_date` = 0) 
    GROUP BY `dates` ORDER BY NULL


    Если .order_by() не делаю пустым. то тянет из настроек модели или других вышестоящих над запросом сортировок
    dates = models.DateField(_(u'Дата календаря'), blank=False)
    ...
    class Meta:
        ordering = ['-dates', '-create']

    И тогда группирует по двум полям.
    SELECT `dates`, COUNT(`dates`) AS `count` 
    FROM `gigdate_dateall` 
    WHERE (`dates` IN (2015-08-31, 2015-09-01, 2015-09-02, 2015-09-03) AND `type_date` = 0) 
    GROUP BY `dates`, `create` ORDER BY `dates` DESC, `create` DESC
    Ответ написан
  • Как сделать вход на сайт Django только после авторизации?

    syschel
    @syschel
    freelance/python/django/backend
    Принудительная авторизация:

    project/middleware.py
    from django.core.urlresolvers import reverse
    from django.http import HttpResponseRedirect
    
    class ValidLogin(object):
    
        def process_request(request):
            if not request.user.is_authenticated():
                return HttpResponseRedirect(reverse('signin'))
            return None


    project/settings.py
    MIDDLEWARE_CLASSES = (
        'project.middleware.ValidLogin',
    )


    А раздача прав уже или на уровне url`ов или на уровне вьюх.
    В урлах можно так

    from django.conf.urls import patterns, url
    from django.contrib.auth.decorators import user_passes_test
    urlpatterns = patterns('crm.views',
        url(r'^$', 
            user_passes_test(lambda u: u.is_superuser or u.is_moderator)(HomeCRM.as_view()),
            name='home'),
    )


    Если просто авторизацию через урлы, то так:
    from django.contrib.auth.decorators import login_required
    urlpatterns = patterns('crm.views',
        url(r'^$', 
            login_required(HomeCRM.as_view()),
            name='home'),
    )

    Но это каждую строку урла проверять на авторизацию... А потом ещё думать как реализовать права по грппам. Проще как выше, через middleware авторизацию проверять и слать на форму входа.
    Ответ написан
    3 комментария
  • Как сформулировать правильную заявку на фриланс бирже?

    syschel
    @syschel
    freelance/python/django/backend
    Советую прочитать. Там не только на этот вопрос ответы, но и на последующие.
    Upwork (oDesk, Elance). Путь для новичка.
    и
    Upwork (oDesk, Elance). Как заполнить профиль.
    Ответ написан
    Комментировать
  • Обязан ли фрилансер иметь ИП/ООО или достаточно быть физлицом и платить НДФЛ 13%?

    syschel
    @syschel
    freelance/python/django/backend
    Достаточно быть физ лицом и работать по договору подряда. Но тогда заказчик обязан с суммы оплаты по договору, заплатить все пенсионные и налоговые вычеты(примерно 40% от суммы в договоре), кроме 13% которые платит фрилансер или работодатель в форме налогового агента. Большинству заказчиков это не надо и они отдают выбор в сторону ИП/ООО фрилансера. Но по закону - можно!

    www.oswad.com/info/dogovor
    Можно ли заключить договор с фрилансером, работающим без образования юридического лица и без оформления ИП?

    Да, можно. В соответствии со ст. 421 Гражданского Кодекса РФ, граждане и юридические лица свободны в заключении договоров.


    Каким договором могут регулироваться услуги фрилансера?
    Во-первых, услуги фрилансера могут регулироваться договором подряда с фрилансером (ст. 702 Гражданского Кодекса РФ).
    Во-вторых, работа фрилансера может оформляться договором возмездного оказания услуг (ст. 779 Гражданского Кодекса РФ).
    В-третьих, работа фрилансера может оформляться договором на выполнение научно-исследовательских, опытно-конструкторских и технологических работ (ст. 769 Гражданского Кодекса РФ).
    В четвертых, заказчик и фрилансер могут заключить договор авторского заказа (ст. 1288 Гражданского Кодекса РФ).
    В пятых, заказчик может заключить с фрилансером трудовой договор (ст. 56 Трудового Кодекса РФ).

    Уточню. Что по большей части договоров, платить за вас налоги и отчисления в пенсионки обязан будет заказчик. Это как будто вас берут в штат сотрудником, но на выполнение конкретного задания.
    Ответ написан
  • Как подтягивать картинки в Python-Django через media?

    syschel
    @syschel
    freelance/python/django/backend
    Serving files uploaded by a user during development.

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

    syschel
    @syschel
    freelance/python/django/backend
    related_name

    models.py
    manufacturer = models.ForeignKey('Manufacturer', related_name='cars')

    views.py
    m = Manufacturer.objects.filter(...)

    template.html
    {% for man in m %}
    <h1>{{ man.name }}</h1>
       {% for car in man.cars.all %}
            <p>{{ car.name }}</p>
        {% endfor %}
    {% endfor %}


    Или как Максим Чернятевич указал
    Главное что достаём мануфактуры и их выводим. А в них уже обратной связью подтягиваются авто.
    Ответ написан
    1 комментарий
  • Будет ли работать mysql с нагрузкой примерно триллион записей?

    syschel
    @syschel
    freelance/python/django/backend
    Проблема врятли будет в самой базе данных. Как правило всё упирается в три вещи:
    1. Сами запросы и оптимизация их.
    2. Конфигурация базы данных и самого сервера. Ну и правильно расставленные индексы.
    3. Ресурсы сервера с базой данных.
    Ответ написан
    Комментировать
  • Проблема с ID verification - цвет документа, что делать?

    syschel
    @syschel
    freelance/python/django/backend
    1. Фото на столе, рядом с цветными предметами.
    2. Оплатить счёт на почте, там поставят цветную "печать" об оплате и потом это уже сканировать.
    Ответ написан
    1 комментарий
  • Какой есть бесплатный фриланс для исполнителя?

    syschel
    @syschel
    freelance/python/django/backend
    Одеск. Вхождение бесплатно. Берут только комиссию с "зарплаты". Для бедного студента самое то. А так, ищи на форумах, сайтах с вакансиями, вешай объявления и так далее.
    Ответ написан
    Комментировать
  • Django-registration-redux. Как привязать другие модели?

    syschel
    @syschel
    freelance/python/django/backend
    1. Если вы только учитесь. Старайтесь как можно меньше использовать батарейки. Регистрация очень просто делается голой джангой. Плюс даёт понимание многих внутренних механизмов. Советую снести батарейку и сделать ручками.

    2. Вы не верно понимаете принципы(логику). Личный кабинет, ничем не отличается от любой другой страницы сайта. Тот же функционал. Задайтесь вопросом: "что делает юзер в ЛК?". И получите ответ: "он добавляет статьи, картинки и взаимодействует с юзерами(комментарии, лайки)". То есть он в ЛК управляет объектами "стати", "картинки", "комментарии", "лайки". Для этого уже есть модели? Есть! Что делает в ЛК юзер? Добавляет, редактирует, удаляет эти объекты, но только те их единицы, которые он может по привилегиям (владелец, модератор). Зачем тут какие-то ещё модели? Не зачем! Почему такой вопрос задан? Потому что вы не знаете джангу, а пользуетесь готовыми батарейками. Почему так? Потому что вы не хотите учиться. :-)
    Ответ написан
    5 комментариев