@7a-666

Как создать велосипед в django?

Хочу разобраться как устроена админка и другие приложения из коробки и в связи с этим возникли вопросы
1) можно ли не использовать решения из коробки джанго то-есть создать велосипед
2) можно ли где не будь подсмотреть как реализованы эти решения например админка чтобы создать её заново)
3) думаю если ответить на 1 и 2 вопрос то в этом нет смысла но всё же спрошу какой алгоритм создания админки с нуля на базе джанго

*да я знаю про фласк но учить новый фреймворк пока нет желания, хочу разобраться в django
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 2
@dimuska139
Backend developer
  1. Можно. Я не использую админку Django, сделал свою админку на React
  2. Найди пример любого приложения на React на Github и там же пример любого приложения с django-rest-framework
  3. По-хорошему, надо юзать стандартную Django-админку, если твой сайт на Django (т.к. это экономит кучу времени), но если ты решил сделать свою (например, на React), то пишешь API, используя django-rest-framework и пишешь саму админку на React, которая будет с этим API взаимодействовать.
Ответ написан
Guest007
@Guest007
Django, Python, Linux и всё такое...
Мне кажется, что люди стабильно не понимают, зачем и кому нужна админка в Джанго. Джанго построен вокруг собственного ORM. Этот слой абстракции позволяет не работать с БД чистым SQL. Проблема возникает когда (в процессе разработки или эксплуатации) хочется прямого доступа к записям в БД.
Админка это способ организации такого "прямого" (кавычки потому что всё равно через ORM) доступа к записям. Плюс на него можно навесить немного инструментария, который разработчику хотелось бы иметь под рукой. Принудительно сбросить пользователю пароль, удалить какое-то кол-во записей и т.д. Чисто программерские фишки, востребованные в процессе разработки.
Вся конструкция вертится вокруг того, что разработчики админки не знали, какая конкретно у вас будет структура БД. Поэтому там очень многое построено на магии. Но общие решения никогда не заменят специализированные.

Если вам надо дать (избранным) пользователям доступ к каким-то админским функциям для управления сайтом - напишите админку конкретно для них.
Не надо использовать для этого django.contrib.admin, не надо её модифицировать или заменять. Админка Джанги отдельно - прочие мухи отдельно.

Посмотрите на https://github.com/oscarmlage/django-cruds-adminlte к примеру... И шаблон привычно админский и бОльшая часть типовых операций автоматизирована.

Поищите на djangopackages.org что-нибудь. Кстати, большая часть раздела Admin Interface или просто шкурки, настраивающие внешний вид, или заброшены.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы