Задать вопрос
  • Что не так с моей функцией?

    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). Как заполнить профиль.
    Ответ написан
    Комментировать
  • Будет ли работать 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 комментариев
  • Symfony2 или Django?

    syschel
    @syschel
    freelance/python/django/backend
    Любой большой продукт, со временем перерастёт уровень "аутсорс" левой студии, в "штат разработчиков внутри компании". На php найти одного специалиста и пачку джуниоров проще, чем на питон одного джуниора.
    Выбор делать нужно именно из этого критерия, оценки поддержки и развития продукта, а не разработку.
    Видел я уже метания одного магазина. Сначала его делали на пхп, потом на руби, потом на питоне. Каждый раз новая студия, каждый раз переписывая с нуля уже рабочий магазин. В итоге последние три года жизни он на питоне (джанго). Но вот в штат чтобы взять питониста, пришлось сильно постараться. В итоге брали пыхарей с переучиванием и плавным ростом.

    Если проект в стол (сделали и забыли). То тут без разницы. Главное уровень и опыт команды в предлагаемой среде.

    З.Ы. Сам я python(django) разработчик, до этого около 8 лет просидевший на php. И лично мне больше нравится python, а php я стараюсь забыть и не вспоминать. Но мы то говорим со стороны заказчика, а не исполнителя.
    Ответ написан
    Комментировать
  • Можно ли снимать деньги с payoneer полученного в России в странах ЕС?

    syschel
    @syschel
    freelance/python/django/backend
    Это обычная карта MasterCard. В любой точке планеты где есть банкомат обслуживающий MasterCard.
    Ответ написан
    Комментировать
  • Критично ли отсутствие ИП/ООО у web-разработчика для поиска клиентов?

    syschel
    @syschel
    freelance/python/django/backend
    Вообще фиолетово. ИП/ООО нужно заказчику, только для проведения трат перед налоговой. Понт, солидность и так далее, что рассказывают в теме выше, это выдумки самих исполнителей. Которые никогда не интересовались проблемами заказчика, пытаясь выяснить причины "отказа". Только налоговая и ещё раз налоговая, играют роль для заказчика. А налоговой нужно объяснить куда ушла N сумма денег у заказчика и подтвердить её трату счётфактурой + договором + актом сдачи/приёмки работ.

    Физику нужно только счёт в банке и шаблон договора подряда с физлицом от ИП/ООО. Который и отсылать заказчику. Договор подряда - нормальная форма, по которой все прекрасно работают с физиками.
    Ответ написан
    Комментировать
  • Как использовать Username в качестве slug?

    syschel
    @syschel
    freelance/python/django/backend
    zigen: Разобрался

    И неверно разобрался.

    slug_field [get_slug_field()]

    class MyClassDetailView(DetailView):
        model = User
        slug_field = 'username'


    Ибо def get_object() используется для других целей "немного". К примеру для НЕ явной фильтрации (образно говоря "только для юзеров мужского пола", "только объектов со статусом - отображать" и так далее). Вы же "slug" передаёте в адресной строке, это явный параметр и для этого идёт банальный и правильный slug_field.
    Ответ написан
    Комментировать
  • Файловая структура Django-приложения и установка пакетов?

    syschel
    @syschel
    freelance/python/django/backend
    1. Джанго как пакет - да. Джанго как приложение (ваш код) - НЕТ!!!
    2. pip3
    Ответ написан
  • Как исправить url django?

    syschel
    @syschel
    freelance/python/django/backend
    [04/Jul/2015 14:33:31]"GET /?page=2&querystring_key=page HTTP/1.1" 500 160329
    [04/Jul/2015 14:33:42]"GET /?page=2&querystring_key=page HTTP/1.1" 200 6458


    Что бы посмотреть ошибку при возврате 500, когда шлёте аяксом, достаточно посмотреть в firebug`e или отладчике гуглхрома. Если DEBUG = True

    Ошибка может быть в том, что вы шлёте POST запросом, а ждёт от вас GET. Когда ж вы в браузере инициализируете адрес, то там вы это делаете GET запросом.

    Третье:
    RemovedInDjango19Warning: `request.REQUEST` is deprecated, use `request.GET` or `request.POST` instead.

    Вам говорят, что request.REQUEST устарело и советуют использовать `request.GET` или `request.POST`. Так как это в библиотеке, попробуйте её обновить(не всегда обновление в стабильной паблик версии, посмотрите репозитарий с последней версией).
    Ответ написан
    4 комментария
  • В чём смысл натягивать лендинги на cms?

    syschel
    @syschel
    freelance/python/django/backend
    Ну вы разбираетесь в этой теме, а кто-то в выращивание страусов в условиях крайнего севера. И его коробит от наших "глупых" вопросов. Им по сути не нужно понимать этого. А нам достаточно задать парочку уточняющих вопросов, а потом или подсказать "правильное" решение или сделать "в лоб", как просит заказчик, накрутив на сроке интеграции под ВП свою оплату часов.

    Другое дело, если хотят платить как за разворачивание чистого вордпресса на хостинге, при заказе уникальной разработки крупной CRM или второго фейсбука/ебая/амазона. Вот там негодование и возмущение оправдано. А тут не сильно, в повседневной жизни мы тоже выглядим порой глупыми дилетантами, делая покупки и заказы в неизвестных нам сферах. Да взять туже медицину и наше видение "симптомов" или покупка лекарств по памяти вспоминая рецепт.
    Ответ написан
    1 комментарий