Django Unleashed Framework
رفتن به کانال در Telegram
Лучшие материалы по разработке на фреймворке Django на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
نمایش بیشتر1 334
مشترکین
-124 ساعت
-27 روز
-1430 روز
آرشیو پست ها
Tproger и Яндекс сделали космический квест про программирование
Каждый инструмент разработчика — отдельная планета в солнечной системе. Между ними — вопросы про космос и историю технологий.
Пройдёте все этапы — сможете участвовать в розыгрыше телескопа и других призов.
Начать советуем здесь: https://tprg.ru/zldM
Django получил новый REST-фреймворк: быстрее, строже и без привязки к моделям
Для Django долгое время было два основных пути: DRF с его сериализаторами, привязанными к моделям, и django-ninja, который пытался повторить FastAPI, но в итоге принёс свои ограничения. Ни один из них не давал полной типизации, гибкости в выборе моделей данных и внятной OpenAPI-спеки из коробки.
Новый фреймворк, созданный core-разработчиком CPython, предлагает альтернативу. Его ключевые особенности:
— производительность на уровне FastAPI (всего на 30% медленнее без учёта БД);
— полная типизация, но без навязывания;
— поддержка любых моделей: pydantic, msgspec, dataclasses, TypedDict и даже собственных сериализаторов;
— строгая валидация ответов в dev-режиме — OpenAPI-спека всегда соответствует реальности;
— нативная работа с sync и async;
— стриминг (SSE, JsonLines) на ASGI;
— расширяемые контроллеры-классы, которые наследуют обычные Django View.
Проект уже содержит удобные инструменты для тестирования (polyfactory, schemathesis, tracecov) и позиционируется как AI-first: есть скилы для миграции с django-ninja, llms-full.txt и интеграции с агентами.
Подробности, примеры кода и философия разработки в статье: https://habr.com/ru/articles/1017036/
На ИИ заглядывайся, но про базу не забывай
Сейчас в DevOps-индустрии активно заходит тема GenAIOps и LLMOps, и у многих появляется соблазн интегрировать в пайплайны ИИ-инструменты. Но важно помнить, что ИИ — это надстройка. Фундамент остается прежним: инфраструктура как код, контейнеризация, CI/CD и управление состояниями. Без этого любая попытка автоматизации обернется новыми дырами, которые придется чинить руками.
Укрепить этот фундамент можно на курсе Яндекс Практикума PRO «DevOps для эксплуатации и разработки». С его помощью вы поймёте инфраструктуру как код, чтобы не просто развертывать кластер, а управлять его состоянием без ручного вмешательства.
Что еще в программе
Инструменты, которые требуют на собеседованиях: Linux, Docker, Kubernetes, Terraform, Ansible, GitLab CI/CD. Инфраструктура для лаб уже развернута — не нужно локально поднимать стенды.
Курс рассчитан на тех, кто уже работает в грейде джун+/мидл.
Есть бесплатная вводная часть — можно сначала попробовать, а потом решать.
Реклама. Рекламодатель: АНО ДПО «Образовательные технологии Яндекса» ИНН 7704282033, erid: 2W5zFJzCuHj
Repost from Типичный программист
Победителями премии Тпрогер 🐀становятся...
Здесь играет барабанная дробь и интригующая музыка... Вам нужно только выждать драматическую паузу перед объявлением победителей — в каждой номинации он один, и определяется большинством голосов. Готовы?
В номинации «Продукт года» золотая мышь достается компании:
🐀NetVision за платформу интеллектуального мониторинга СИМ.
В номинации «Облачный продукт года» побеждает компания:
🐀Гравитон с паком виртуализации «Гелиус»
Звание «IT-ивент года» вручается компании:
🐀Островок! за О!Хакатон
И в категории «Дизайн года» первое место занимает компания:
🐀AcademiaDev за интерактивную инсталляцию.
Каждый ваш лайк, голос влияли на исход премии. Давайте поддержим всех — ставьте 🏆участникам, которые хоть и не заняли призового места, но точно остались в сердечке.
И 🔥, если хотите аналогичных активностей и готовы выбирать еще!
Последний день голосования в Tproger Award!
Две недели, 16 компаний, 4 номинации — спасибо, что читали, участвовали и лайкали. И отдельное спасибо, что голосовали! Вообще не представляем, что вы там наделали, уже узнать хочется!
Давайте сегодня зафиналим голосовалку и раздадим по максимуму золотых мышей. Интересно, расстановка сил сможет измениться за один день?
Если потеряли, то номинации вот:
— Продукт года
— Облачный продукт года
— ИТ-ивент года
— Дизайн года
Только сайт не положите, очень просим 🙏
Пойти голосовать: https://tprg.ru/bWfy
Repost from Сохранёнки программиста
Где лучшие тусовки? На тех-ивентах!
Последняя по очереди, но не по значимости — номинация «IT-ивент года». Здесь тоже собрались три компании, и если вы еще не добрались до чтения их кейсов, то давайте сделаем это вместе.
— Лаборатория Числитель собрала конференцию, на которой обсуждают строго только K8s.
— Мероприятие Selectel, которое стало уже традицией, делали полностью in-house.
— Специально для своего хакатона Островок создал платформу, чтобы участвовать могли разработчики из любой точки мира.
Выбирайте компанию-фаворита и вручайте ей золотую мышь — голосование доступно на сайте.
Repost from Представляешь,
Кейсы из номинации «Дизайн года» ждут ваших голосов
Осталась ровно неделя до конца голосования в премии Tproger. Уже дико хочется узнать, кто в лидерах! Но даже мы в команде стараемся держать интригу. И чтобы скоротать время, давайте посмотрим на дизайнерские кейсы компаний:
— AcademiaDev представила интерактивную инсталляцию, которая разлетелась по СМИ и собрала 48 млн охвата.
— ИИ-платформа Сократик рассказала, как устроена их система по генерации готовых презентаций.
— Островок поделился, как они сделали отдельную айдентику для Ostrovok! Tech.Закидайте их своими голосами: https://tprg.ru/WLvk
Repost from Типичный программист
Какой кейс станет облачным продуктом года?
Давайте думать, подсказывайте голосовать! В этой номинации Tproger Awards также участвуют пять компаний. Вот статьи про их продукты:
👍ПАК виртуализации от Гравитона, который построен по гиперконвергентной архитектуре, что предусматривает простое и предсказуемое масштабирование.
👍ИИ-ассистент от Рунити, который начинался как внутренний продукт, но уже вышел на внешний рынок.
👍VPS от SmartApe, который помог онлайн-школе выдержать рост нагрузки в 5 раз.
👍Контейнерная платформа «Штурвал» от Лаборатории Числитель, благодаря которой система стала устойчива к высоким нагрузкам.
👍Облачная платформа от Selectel, которая позволяет компаниям самим управлять данными, подключать нужные сервисы в несколько кликов и иметь доступ к поддержке 24/7.Что из этого достойно золотой мыши — решать вам. Переходите на сайт голосования и выбирайте тот самый кейс 👍
Repost from Типичный программист
Выбираем лучший продукт года🐀
У нас в разгаре премия Tproger — в ней мы выбираем лучшие ИТ-разработки среди 16 компаний. Сегодня ближе знакомимся с участниками номинации «Продукт года».
В ней участвуют пять компаний. Изучаем:
👍ОТП Банк представляет ASOC-сканер, который спроектировал один разработчик за месяц.
👍Гравитон делится кейсом создания ПО мониторинга без агентов, который можно затестить бесплатно.
👍NetVision борется с недобросовестными самокатчиками с помощью платформы интеллектуального мониторинга СИМ.
👍Solar показывает appScreener, который вырос из стартапа до стандарта рынка; при работе над ним сотрудники получили научные степени.
👍Reksoft рассказывает о платформе Brain ERM, который помогает компаниям экономить до 70% времени на рутинных HR-операциях.Если вы еще не проголосовали за понравившийся продукт — самое время это сделать. Переходите на сайт премии и выбирайте свой релиз года. Пусть золотая мышь достанется команде лучших 🔥
Repost from Python: задачки и вопросы
Премия Tproger объявляется открытой! 🐀
Каждый год команды разработки фиксят баги, выкатывают редизайн, добавляют фичи или создают совершенно новые продукты внутри известных нам брендов. Какие-то результаты работы мы видим, но чаще внутрянка не доступна и оценить по достоинству ее не получается.
Отсюда родилась идея Премии Tproger. В ней ИТ-компании делятся успешными кейсами разработки, а аудитория решает, какой проект заслуживает награды — золотой мыши 🐀
В премии участвуют 16 компаний в 4 номинациях:
⚫ Продукт года
Здесь представлены платформенные решения, направленные на комплексную автоматизацию ключевых направлений деятельности: от контроля безопасности разработки ПО и ИТ-инфраструктуры до управления ресурсами компании.⚫ Облачный продукт года
В этом разделе вас ждут платформы виртуализации, облачные среды для AI/ML, инструменты управления кластерами и микросервисами, обеспечивающие высокую производительность и быстрый запуск цифровых сервисов. ⚫IT-ивент года
Участники рассказывают о профессиональных конференциях и хакатонах, объединяющих тысячи разработчиков и инженеров.⚫ Дизайн года
В номинации представлены проекты, где дизайн встречается с инженерией: нейросети, создающие презентации за секунды; инсталляции, собравшие десятки миллионов контактов; и визуальные стратегии, транслирующие ценности разработки.Теперь они в ваших руках 👍 1. Переходите на сайт премии. 2. Выбирайте понравившиеся кейсы в каждой категории. 3. И вручайте им золотую мышь. Голосование продлится до конца февраля и уже в марте мы объявим победителей. Stay tuned!
INT {old_foreignkey_name}
TO {new_foreignkey_name}"""
)
class Migration(migrations.Migration):
dependencies = [
("newapp", "0001_initial"),
]
operations = [
migrations.RunPython(rename_indexes, migrations.RunPython.noop),
migrations.RunPython(rename_foreignkeys, migrations.RunPython.noop),
]
Запустите миграции:
(env)$ python manage.py migrate
Если что-то не работает так, как ожидалось, мигрируйте обратно, исправьте код и затем снова мигрируйте. Отменить миграцию можно путем миграции на один шаг до последней миграции. Например:
(env)$ python manage.py migrate 0001
6. Уборка
После применения миграции во всех необходимых окружениях можно подчистить их путем удаления django-rename-app из pip requirements и скриптов деплоймента.
Итоги
Редко удается построить систему, которая изначально будет отвечать всем вашим нуждам. Системы всегда требуют постоянного улучшения и рефакторинга. Используя миграции Django и django-rename-app, можно работать над сайтами в стиле Agile, чисто и гибко.
Перевод статьи «How to Rename a Django App».
Сообщение Как переименовать приложение в Django появились сначала на Pythonist.
Читать: https://pythonist.ru/?p=18869
@django_prog | Другие наши каналы
Как переименовать приложение в Django
Aidas Bendoraitis, автор книги «Django 3 Web Development Cookbook», рассказал, как переименовать приложение в Django.
Когда я начал работу над MVP (минимально жизнеспособным продуктом) моего проекта 1st things 1st, я сперва думал, что этот Django-проект будет посвящен приоритизации. Несколько лет спустя я понял, что этот проект по сути SaaS (software as a service, ПО как услуга), а приоритизация — лишь часть необходимого функционала для SaaS. В конечном итоге мне понадобилось переименовать приложение, чтобы получить более чистый и лучше организованный код. Вот как я это сделал.
0. Обновите ваш код и кодовую базу
Убедитесь, что вы сделали git pull последних изменений и выполнили все миграции базы данных.
[python_ad_block]
1. Установите django-rename-app
Поместите
django-rename-app в pip requirements и установите его. Либо просто запустите следующую команду:
(venv)$ pip install django-rename-app
Внесите это приложение в INSTALLED_APPS в ваших настройках:
INSTALLED_APPS = [
# …
"django_rename_app",
]
2. Переименуйте директории приложения
Смените старое имя (oldapp) на новое (newapp) в ваших приложениях и шаблонах.
3. Измените имя приложения там, где оно встречается в коде
Измените имя во всех ваших импортах, миграциях и путях шаблонов.
Можно сделать глобальный поиск oldapp, а затем перебрать все результаты.
4. Запустите управляющую команду rename_app
Выполните следующую команду:
(env)$ python manage.py rename_app oldapp newapp
Эта команда заменит префикс имени в таблицах приложения и записях в таблицах django_content_type и django_migrations.
Если планируете обновить сервера стейджинга и продакшена, добавьте команду rename_app перед запуском миграций в своих скриптах деплоймента (Ansible, Docker и т.п..).
5. Обновите индексы и ограничения
Наконец, создайте пустую миграцию базы данных для приложения с пользовательским кодом, чтобы обновить индексы и ограничения внешних ключей.
(env)$ python manage.py makemigrations newapp --empty --name rename_indexes
Заполните миграцию следующим кодом:
# newapp/migrations/0002_rename_indexes.py
from django.db import migrations
def named_tuple_fetch_all(cursor):
"Return all rows from a cursor as a namedtuple"
from collections import namedtuple
desc = cursor.description
Result = namedtuple("Result", [col[0] for col in desc])
return [Result(*row) for row in cursor.fetchall()]
def rename_indexes(apps, schema_editor):
from django.db import connection
with connection.cursor() as cursor:
cursor.execute(
"""SELECT indexname FROM pg_indexes
WHERE tablename LIKE 'newapp%'"""
)
for result in named_tuple_fetch_all(cursor):
old_index_name = result.indexname
new_index_name = old_index_name.replace(
"oldapp_", "newapp_", 1
)
cursor.execute(
f"""ALTER INDEX IF EXISTS {old_index_name}
RENAME TO {new_index_name}"""
)
def rename_foreignkeys(apps, schema_editor):
from django.db import connection
with connection.cursor() as cursor:
cursor.execute(
"""SELECT table_name, constraint_name
FROM information_schema.key_column_usage
WHERE constraint_catalog=CURRENT_CATALOG
AND table_name LIKE 'newapp%'
AND position_in_unique_constraint notnull"""
)
for result in named_tuple_fetch_all(cursor):
table_name = result.table_name
old_foreignkey_name = result.constraint_name
new_foreignkey_name = old_foreignkey_name.replace(
"oldapp_", "newapp_", 1
)
cursor.execute(
f"""ALTER TABLE {table_name}
RENAME CONSTRA[...].
2. При создании экземпляра компонента для получения последних книг из базы данных вызывается метод
hydrate. Таким образом поддерживается актуальность информации.
3. Метод add_book создает новую модель book из title, сохраняет ее в базе данных, а затем очищает title.
4. Метод delete_book удаляет книгу, соответствующую идентификатору.
Пройдя все описанные шаги, перейдите по адресу http://127.0.0.1:8080/, чтобы убедиться, что приложение работает должным образом. Вы должны увидеть следующее:
Попробуйте добавить или удалить свои любимые книги по Django.
Заключение
Мы разобрали, как создать сайт на Django за 20 минут. Мы создали реактивное веб-приложение с полным стеком на Django, без какого-либо JavaScript. Также мы использовали Unicorn, чтобы иметь возможность добавлять и удалять книги, не обновляя страницу.
Вы можете скачать полный код здесь.
Успехов в написании кода!
Перевод статьи «Full-Stack Reactive Website in Django (No JavaScript)».
Сообщение Сайт на Django за 20 минут появились сначала на Pythonist.
Читать: https://pythonist.ru/?p=15870
@django_prog | Другие наши каналыjango Books {% unicorn_scripts %}
{% csrf_token %}
Favourite Django Books
{% unicorn 'book' %}
Логика работы
1. Мы создали базовый шаблон Django для своего проекта, связав
views и urls вместе.
2. Обратите внимание, что Unicorn нужно загрузить в верхней части HTML-шаблона Django.
3. Мы также добавили unicorn_scripts и crsf_token в шаблон Django HTML.
Как написано в документации Unicorn, библиотека следует лучшим практикам Django и, следовательно, требует установки CRSF-токена на любой странице, являющейся компонентом. Это гарантирует, что никакие некорректные сообщения AJAX не будут выполнены.
Также Unicorn имеет концепцию компонентов. Это позволяет обращаться к набору интерактивных функций, которые могут быть помещены в шаблон. Например, мы добавили компонент book в файл index.html.
Добавление и удаление книг
В этом разделе мы реализуем функцию добавления и удаления книг без обновления браузера с помощью Unicorn.
Шаг 1
В корне вашего проекта создайте новые папки (unicorn и components) и новый файл с именем book.py.
Шаг 2
В папке unicorn, которую вы создали ранее, создайте еще одну папку с именем templates, внутри нее — папку с именем unicorn и, наконец, внутри этой папки создайте файл с именем book.html. (У вас должен получиться путь unicorn/templates/unicorn/book.html).
Шаг 3
Внутрь book.html добавьте следующий код:
{% for book in books %}
* {{ book.title }} Delete Book {% empty %}
Database Empty | Add your favourite Django book
{% endfor %}
Add Books
Что здесь происходит?
Внутри компонента у нас есть доступ к обычному синтаксису Django.
Обратите внимание на элемент input. Всё знакомо, за исключением атрибута unicorn: model. Он указывает, какое поле в вашем внутреннем компоненте будет привязано к этому вводу. В этом случае имя поля будет title.
Примечание. unicorn: model – это магия, которая связывает входные данные с компонентом бэкенда.
Обратите внимание на кнопку «Add Books» с атрибутом unicorn:click. Этот атрибут указывает Unicorn привязать бэкенд-метод add_book к событию браузера click.
Точно так же кнопка «Delete Book» указывает Unicorn привязать бэкенд-метод delete_book. Кроме того, мы также передали идентификатор книги в функцию delete_book, чтобы однозначно идентифицировать каждую книгу.
Чтобы предотвратить появление обновлений при каждом входе, вы можете добавить модификатор lazy или defer в конец unicorn:model.
Атрибуты, используемые в шаблонах компонентов, обычно начинаются с unicorn:, но также поддерживается шорткат u:. Обратите внимание, что свойства компонента могут быть многих типов, включая str, int, list, dictionary, decimal и Django Model.
Наконец, Unicorn требуется один корневой элемент, охватывающий весь шаблон компонента.
Шаг 4
Внутри book.py добавьте следующий код:
from django_unicorn.components import UnicornView
from books.models import Book
class BookView(UnicornView):
title: str = ""
books = Book.objects.none()
def hydrate(self):
self.books = Book.objects.all()
def add_book(self):
if self.title != "":
book = Book(title=self.title)
book.save()
self.title = ""
def delete_book(self, id):
try:
book = Book.objects.get(id=id)
book.delete()
except:
pass
Объяснение логики кода
1. Мы импортируем UnicornView, внутренний подкласс TemplateView. Следовательно, процесс перехода от стандартного view на основе классов должен быть простым[...]Сайт на Django за 20 минут
Современные веб-сайты, требующие сложного взаимодействия с пользователем, создаются с использованием специальных фронтенд-фреймворков, таких как React, Vue.js и другие. Каждый из них имеет свои плюсы и минусы. Вам приходится учитывать скорость разработки с применением выбранного фреймворка, стоимость хостинга, SEO-оптимизацию, различия в синтаксисе и, в некоторых случаях, дублирование бизнес-логики.
Создавая сайт на Django, вы можете получить не менее впечатляющие результаты, чем при работе с JS-фреймворками. При этом Django не столь сложен, требует меньше кода и меньше времени на разработку.
В этой статье мы вам расскажем, как за 20 минут создать несложный сайт на Django.
Реализовать необходимые нам функции можно при помощи нескольких технологий (на выбор). Например, можно воспользоваться Sockpuppet, Reaction или Unicorn. Для обеспечения интерактивности приложения без применения пользовательского JavaScript мы применим Unicorn.
Прежде чем начать
Чтобы следовать этому руководству, вам необходимо:
* Базовое понимание веб-фреймворка Django.
* Практическое знание Docker.
Настройка и обзор проекта
Вот краткий обзор приложения, которое мы будем сейчас создавать:
В этом приложении вы можете добавлять и удалять новую книгу, не обновляя страницу. Такой же функционал доступен в одностраничных приложениях.
Для начала клонируйте ветку base из репозитория
django-reactive:
$ git clone https://github.com/Samuel-2626/django-reactive --branch base --single-branch
$ cd django-reactive
Мы будем использовать Docker, чтобы упростить настройку и запуск Django с зависимостями. Из корня проекта создайте образы и раскрутите контейнеры Docker:
$ docker-compose up -d --build
Затем примените миграции, создайте суперпользователя и запустите сервер разработки:
$ docker-compose exec web python manage.py migrate
$ docker-compose exec web python manage.py createsuperuser
$ docker-compose exec web python manage.py run server
Обратите внимание на модель Book в файле books/models.py. Код должен выглядеть следующим образом:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
[django_ad_block]
Работа с Unicorn
Unicorn – это компонентный фреймворк, прогрессивно улучшающий стандартное представление Django. Он динамически обновляет DOM с помощью вызовов AJAX в фоновом режиме.
Добавьте Unicorn к вашим установленным приложениям:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Third-party
"django_unicorn", # new
]
Далее обновите файл urls.py вашего проекта следующим образом:
from django.urls import path, include
path("unicorn/", include("django_unicorn.urls")), # new
Как это работает?
1. Unicorn – это библиотека с открытым исходным кодом, улучшающая стандартное представление Django. Благодаря этому первоначальная визуализация компонента выполняется быстро и отлично подходит для SEO.
2. Затем Unicorn привязывается к указанным элементам и при необходимости автоматически выполняет вызовы AJAX.
3. Наконец, Unicorn динамически обновляет DOM.
URL проекта, views и template
В этом разделе мы будем настраивать URL-адреса, вьюшки (views) и шаблоны (template) нашего проекта.
Для начала обновите файл urls.py следующим образом:
path("", views.index), # new
Далее обновите файл views.py, добавив в него следующий код:
def index(request):
return render(request, "index.html", {})
Наконец, обновите файл index.html:
{% load unicorn %} D[...]ете добавлять в него ссылки на свои проекты. А потенциальные работодатели смогут перейти по любой из ссылок и увидеть проделанную вами работу.
Это важно, потому что укрепляет доверие к вам как к специалисту. Увидев портфолио реализованных вами проектов, люди поймут, что вы опытный веб-разработчик. В результате ваши шансы получить работу повысятся.
Кроме того, как веб-разработчик, вы должны уметь самостоятельно развертывать сайты в Интернете.
Это не так дорого, как кажется. Для обычного развертывания ваших приложений вы можете использовать бесплатные платформы, такие как Python Anywhere или Heroku.
Если вы уже выполнили несколько проектов на Django, разверните их в Интернете с помощью этого простого руководства.
Заключение
Вы считаете, что уже готовы взяться за большой проект? Возьмите любую из этих идей и приступайте к работе. Если вам нужна работа в области программирования, но у вас нет опыта, то выполнение подобных проектов вернее всего поможет вам получить место.
Удачи в программировании!
Сообщение 11 проектов на Django для начинающих появились сначала на Pythonist.
Читать: https://pythonist.ru/?p=14677
@django_prog | Другие наши каналы
действовать с другой программой).
Вы вполне можете создать свой проект на Django и интегрировать его с некоторыми API. Кто-то, вероятно, уже создал полезные ресурсы с API-интерфейсом, и вы отлично можете их использовать в своем проекте.
Создав такое приложение, вы разберетесь в концепции API и научитесь использовать их в своих проектах. Эти знания будут очень ценными, если вы захотите стать веб-разработчиком.
Описание процесса создания подобного приложения мы нашли для вас на YouTube:
8. Магазин на Django
Вы когда-нибудь пользовались сайтами электронной коммерции, такими как Amazon? На таких сайтах люди могут покупать или продавать товары через Интернет и отправлять деньги и данные для выполнения подобных транзакций.
Сайт Amazon имеет множество функций. Он полностью изменил наш подход к покупке или продаже товаров. Если у вас есть продукт для продажи, вы можете продавать его на eCommerce-сайтах, подобных Amazon. Но вы можете и сами создать сайт с похожим функционалом.
Даже если у вас нет товаров для продажи, вы можете сделать такой проект просто для практики. Создайте онлайн-магазин при помощи уже имеющихся у вас навыков Django. Это будет хороший проект, который научит вас многим полезным вещам.
Мы нашли видео, которое поможет вам создать такой сайт. Потренируйтесь сейчас, а потом зарабатывайте на собственном интернет-магазине (или на создании таких магазинов для других людей).
9. Социальная сеть на Django
Все мы пользуемся социальными сетями, верно? А вы знаете, что многие популярные сайты, такие как Instagram, YouTube, Pinterest и многие другие работают на Python и Django?
Вы тоже можете создать свою социальную сеть при помощи фреймворка Django. Если у вас есть оригинальная идея социальной сети, просто выполните этот проект и создайте свое приложение. Может, оно станет следующим Instagram или Facebook, кто знает?
Будет здорово, если вы создадите социальную сеть для себя и своих друзей, чтобы иметь возможность поиграться с ней. Тогда по ходу дела вы сможете прислушиваться к предложениям друзей и улучшать приложение.
Этот проект отлично ляжет в ваше портфолио. Надеемся, этот видеотуториал поможет вам создать собственную соцсеть.
10. Сайт для подписки на видео на Django
На сайте видеоподписок вы можете подписаться на выбранные каналы, заплатив определенную сумму, — так же, как на NetFlix. Django можно полноценно использовать для создания подобного сайта.
Выполняя этот проект, вы сможете узнать, как использовать API, как работать с платежами, как обрабатывать данные и многое другое.
Вы научитесь интегрировать в свой проект платежный шлюз, например Stripe, создавать страницы оформления заказа, настраивать периоды оплаты, работать с интерфейсом Stripe, обрабатывать платежи, анализировать данные платежей, отменять подписки и т.д.
Если вы хотите создать сайт с подписками на видео при помощи Django, вам может пригодиться это видео.
11. Онлайн-школа на Django
В этом проекте вы создадите онлайн-школу, в которой учителя смогут создавать задания, а учащиеся — выполнять их и просматривать результаты. Для создания подобного веб-приложения вы можете использовать свои навыки работы с Django.
Выполнив этот проект, вы научитесь создавать многопользовательскую систему с помощью Django Rest Framework и React. Таким образом, вы узнаете много нового о структуре Rest Django, а также кое-что о React.
Такой проект улучшит ваши навыки и frontend-, и backend-разработки. Если вы хотите стать fullstack веб-разработчиком Django, мы рекомендуем вам заняться этим проектом. Следующий плейлист поможет вам в работе.
12. Размещение созданных вами сайтов
Доставку программного продукта клиенту обычно называют развертыванием на веб-хостинге. Другими словами, это процесс публикации кода в Интернете, чтобы каждый мог получить доступ к вашему проекту.
Даже если у вас нет коммерческих целей, вам следует опубликовать ваши проекты и сделать их доступными для всех.
Благодаря этому при составлении портфолио вы смож[...]
ик должен знать, как делаются такие вещи, поскольку это используется почти в каждом коммерческом проекте.
Итак, если вы этого еще не умеете, вам следует этому научиться. Мы нашли видео на YouTube, в котором вас научат, как за 10 минут создать полнофункциональную страницу входа в систему.
Посмотрите этот великолепный видеотуториал и внимательно его изучите, потому что это вам пригодится.
5. Портфолио разработчика
Нам кажется, что создание сайта-портфолио — вообще хорошая идея. При поиске работы его можно будет использовать вместо резюме.
А как насчет реализации такого сайта на Django? Будет интересной затеей создать на Django сайт-портфолио и поместить в него все другие ваши проекты на Django. Когда будете искать работу или пойдете на собеседование, вам будет, что показать потенциальному работодателю! Это повысит ваши шансы получить желаемую работу.
Видеокурс «Building a Personal Portfolio with Django» поможет вам создать красивое личное портфолио, чтобы продемонстрировать свои навыки разработки на Python.
[django_ad_block]
6. Чат-бот на Django
Многие сайты и приложения используют чат-ботов для взаимодействия со своими клиентами. А вы когда-нибудь задумывались над тем, как их делают?
Кстати, если вы не знаете, что такое чат-бот, то знайте: это программа, которая общается с юзером с помощью голосовых или текстовых методов. Это программа, имитирующая человеческую речь, в том числе письменную, с помощью искусственного интеллекта и других технологий.
Чат-бот может определять намерения пользователя и извлекать данные и соответствующие объекты, содержащиеся в запросе пользователя. Это приносит огромную пользу бизнесу.
Создать чат-бота и реализовать его на своем сайте также можно при помощи Django.
Это несколько более продвинутый проект. Если вы новичок в программировании, то мы не рекомендуем сразу браться за него. Но если вы уже выполнили несколько проектов и приобрели некоторый уровень уверенности в своих навыках программирования, то можете попробовать свои силы в реализации чат-бота.
Мы надеемся, что это видео поможет вам в реализации столь интересного проекта.
От редакции Pythonist. Рекомендуем серию статей по теме: «Чат-бот на Python (Deep Learning + TensorFlow)».
7. «Погодное» приложение на Django
Допустим, вы уже завершили некоторые базовые проекты, такие как блог, список дел и еще ряд простых приложений. Пора взяться за что-то посерьезнее.
Например, можно создать приложение для отображения погоды в основных городах мира. Это будет полезно пользователям, которым необходимо знать, какая погода сейчас в том или ином городе.
Для облегчения выполнения этого проекта вы можете воспользоваться какими-нибудь API-интерфейсами. (API-интерфейс — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимо[...]
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
