Задать вопрос
Пользователь пока ничего не рассказал о себе

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

Все теги (5)

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

Все ответы (10)
  • Django и React.js как соединить?

    @iMrDron
    Да по первой же ссылке: djbook.ru/examples/75
    И темплейт с которым можете сразу начать, поэксперементировать: https://github.com/mbrochh/django-reactjs-boilerplate
    Ответ написан
    Комментировать
  • Как сейчас выглядит взаимодействие django + react?

    @iMrDron
    1) Для чего чаще используют react в связке с Django?
    - вставляют какие-то интерактивные элементы в страницы?
    - делают на нем весь фронт?
    - Пилят исключительно админку?

    В каждом проекте своя специфика, я видел все три варианта и все они отлично подходят.

    2) Можно ли совмещать обычные страницы (которые отрисовываются через view.py/urls.py), с тем что получается с DRF + react.js + routing?). т..е допустим часть сайта обычные странички, и другая часть на реакте?

    Да, это распространённый юзкейс, допустим у вас сайт весь просто на джанго, но пару страничек нужно сделать динамичными, вот там джанго вьюха просто отдаёт хтмл, где только допустим, шапка и футер и подключается скрипт react_app.js. и дальеш уже контент странички на реакте, допустим какой-нибудь шаборд. Очень удобный вариант, можно и не только дашборды, можно допустим виджет с нотификациями. Но, все эти вставки на реакте уже естественно получают данные по апи - django rest framework.

    3) Какой сейчас стандартный набор пакетов, который используется для этой связки? А то смотрю обучалки, там все время все разные пакеты используют?

    react + redux + react-router - это основной стек, а дальше уже добавляют что нужно. бывает что и роутер не нужен.

    4) Могут ли поисковики нормально индексировать такие сайты, либо все теряется в бездне?

    Да, тут есть проблема, гугл уже умеет вроде как рендерить js, но пока это все точно не понятно как работает.
    Варианты есть такие:
    https://prerender.io,
    https://github.com/markfinger/python-react
    или ещё почитать https://www.reddit.com/r/django/comments/406cpw/re...
    Я лично пока ничего такого не делал, так что точно сказать не могу, но уверен можно решить этот вопрос.

    5) Насколько действительно нужно знать хорошо реакт, чтобы закрыть его в резюме?

    зависит от того как вы быстро обучаетесь) но вообще как только поймёте нормально как работать с стеком react + redux + react-router, так и включайте.
    Ответ написан
    Комментировать
  • Как писать цикл внутри views.py в Django?

    @iMrDron
    Все это можно сделать при помощи аннотаций примерно так:
    artists = (
        Artist.objects
        .filter(album_set__genres__name__in=["Traditional music", "Juz"])
        .annotate(album_count=Count('album_set', distinct=True))
    )

    В цикле делать запросы к бд недопустимо вообще! Изучите аннотации, если бывает что их возможностей не хватает, допустим нужно делать ещё промежуточные вычисления, тогда нужно идти по другому пути доставать из базы всех артистов, доставать одним запросом все альбомы для артистов отфильтрованные по genres, и уже по результатам итерироватся и считать что нужно.
    Ответ написан
    Комментировать
  • Как вы начинаете свой проект?

    @iMrDron
    Раньше просто искал какой-нибудь шаблон и допиливал его под себя, сейчас в принципе либо create-react-app либо шаблон ищу, но в либом случае допиливаю под себя.
    Ответ написан
    Комментировать
  • Почему периодичность в celery не выполняется асинхронно?

    @iMrDron
    В дополнение к ответу Максима, вспомнил что был на докладе где рассказывали как при помощи asyncio скачать какие-то данные со всего вк за сутки, посмотрите, может вам будет полезно для вашей реализации - https://youtu.be/8wvQGRJiKdY?t=1699

    По сути вы можете начать с того что бы не сильно все прям менять, просто сделать таски целери на asyncio, что бы не 10к тасок, а 10 тасок, и каждая по 1000 реквестов делала при помощи asyncio. ну и если при этом будет 10 воркеров то по идее все будет одновременно как раз таки работать.
    Ответ написан
    6 комментариев