Задать вопрос
Местоположение
Россия, Свердловская обл.

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (47)
  • Django Rest Framework, TypeError: __init__() takes 1 positional argument but 2 were given. Почему происходит?

    @Realmixer
    Full stack Python (Django) web-developer
    Ошибка в urls.py, неправильно прописан класс отображения — не хватает вызова метода as_view. Надо так:
    urlpatterns = [
        path('quiz/bookmark/create-remove/<slug:slug>/', views.CreateRemoveBookmarkAPI.as_view(),
            name="bookmark-create-remove-api"),
    ]
    Ответ написан
    Комментировать
  • Какой набор инструментов выбрать для реализации веб-проекта?

    @Realmixer
    Full stack Python (Django) web-developer
    Осмелюсь рекомендовать замечательный фреймворк Django. Почему?
    • Ну во-первых, я в последние годы использую исключительно его и не в курсе, что там у других фреймворков )
    • Во-вторых, в нём есть неплохая админка. Разумеется с регистрацией/авторизацией и правами доступа. Правда без сторонних плагинов права не пообъектные, а на всё множество объектов одного класса. Вот чатика к сожалению нету )
    • В-третьих, в нём есть CBV (class-based views). Это значит, что вьюшки можно писать классами. Соответственно появляется возможность наследовать вьюшки друг от друга, перегружать поля и методы... Но даже если ничего такого не использвать, то код получается очень коротким и лаконичным. Лично я функции с риквестами щупал лишь когда знакомился с фреймворком. Затем меня очень обрадовали CBV и сейчас использую только их. Особенно они подходят для конструирования самодельных админок, если стандартной админки Django будет мало.
    Ответ написан
    Комментировать
  • Как сделать так, чтоб с регистрацией нового пользователя создавался профиль(модель Profile)?

    @Realmixer
    Full stack Python (Django) web-developer
    Используй сигналы, Люк!
    from django.db.models.signals import post_save
    from django.dispatch import receiver
    
    @receiver(post_save, sender=User, created)
    def save_profile(sender, instance, **kwargs):
        # instance — это сохранённый экземпляр модели User
        # created — это флаг, указывающий был ли пользователь создан, или сохранён уже существующий
    Ответ написан
    Комментировать
  • Как сделать авторизацию на сайт при парсинге через requests?

    @Realmixer
    Full stack Python (Django) web-developer
    Как правило, любой сайт при авторизации устанавливает в браузер куки. Браузер при каждом запросе сообщает эти куки на сайт, благодаря чему тот "понимает" какой пользователь совершил запрос. Соответственно тебе нужно передавать эти куки при каждом запросе так же как браузер. Вряд ли в Дневнике используется что-то хитрее.

    Начать можно с того, что залогиниться на сайте и собрать все куки для домена сайта. В Хроме это делается так: F12 — Application — Storage — Cookies. Захадрдкодь найденные куки:
    cookies = {
        '_ym_isad': '...',
        '_gid': '...',
        '_ym_uid': '...',
        '_ga': '...',
        '_ym_d': '...',
        '_gat': '...',
        '_gat_main': '...',
    }
    r = requests.get(url, cookies=cookies)

    Если это сработает, тогда думай сценарием авторизации из своего скрипта.
    Ответ написан
    Комментировать
  • Как строится Back-End разработкa?

    @Realmixer
    Full stack Python (Django) web-developer
    Full-stack разработчик — это не тот, кто знает всё что угодно, что в принципе может быть на сервере. Технологий и продуктов слишком много, и просто учить всё это по списку не очень дальновидно.

    Full-stack разработчик — это тот, кто разбирается во всем стеке технологий и используемых в проекте компонентов (как в части фронтенда, так и бэкенда), что позволяет ему в одно лицо затащить проект. Соответственно, перечень необходимых технологий, продуктов и инструментов зависит от того, что за проект стоит перед full-stack разработчиком. Исходя из этого я бы не стал приводить "10 things a Full Stack Developer should know".

    Например, вы делаете первые шаги и решили открыть свой "Очередной блог веб-разработчика". И например, вам на фронтэнде до жути надоели фигурные скобочки, или вам друг посоветовал, или просто для разнообразия, но вы решили попробовать Python. Соответственно вы начнёте копать и получите такой стек: React|Vue.JS(раз вы фронтэндер) + Django&DRF|Flask + Virtualenv + uWSGI|Gunicorn + SQLite|PostgreSQL|MySQL + Memcached|Redis(возможно) + Ngix. Соответственно, хотите вы того или нет, но вам придётся всё это хозяйство разворачивать на сервере. А значит вам надо будет научиться работать в Bash и понимать, что вообще куда в *nix-системах (FHS, pipelines, environments, cron, systemd). Вам надо будет суметь организовать процесс разработки, чтобы изменения кода попадали на сервер и применялись. И лучше сразу начинать использовать тесты и системы контроля версий. Если что-то из этого вы не сможете и придётся привлекать кого-то ещё — вы не full-stack разработчик.
    Ответ написан
    Комментировать