WebDEV
11.6K subscribers
1.26K photos
1.51K links
Сообщество веб-разработчиков.

На канале можно найти: видео-уроки, полезные статьи, новости из мира IT и веб-разработки.

💸 Наши боты: @digital_dealerz
📨 Сотрудничество: @BlazyManagerBot
Download Telegram
💡 Используйте относительные пути в конфигурации

Начинаем новую серию советов для начинающих изучать Django.

▍Часть 1

Не задавайте абсолютный путь в settings.py, это будет полезно, если вы будете в дальнейшем запускать проект из разных расположений, например при развертывании на другом веб-сервере, у которого пути будут другими. Используйте следующий код в settings.py если ваши шаблоны и статические файлы расположены внутри каталога проекта Django:

# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, "templates"),
)

Нравится ли вам эта тема? Если нет, то какая тема была бы вам полезна?

Пишите в комментариях👇🏼

#советы #coding #python #web
💡 Используйте тег {% url %}

Вместо того, чтобы хардкодить ссылки, попробуйте использовать обратно совместимый тег {% url %}. Это даст вам абсолютный URL, но если проект будет перемещен, ссылки остануться актуальными.

По сути {% url %} берет имя представления и его параметры и делает реверсивный просмотр, чтобы вернуть запрошенный URL. Если вы внесете изменения в urls.py, ссылки не сломаются.

#советы #coding #python #web
💡 Используйте админку Django для ваших приложений на PHP

Одно из достоинств Django его система авторизации пользователей, которая встроена в ядро Django. Ее очень легко настроить и она содержит в себе удобную систему для авторизации пользователей и задания необходимых настроек.

Эта система авторизации настолько хороша, что многие предлагают использовать ее как админку для приложений на PHP.

#советы #coding #python #web
💡 Используйте отдельный сервер для обработки статики

Django позволяет вам располагать статические файлы в dev-окружении, но не в вашем production-окружении.

Django спроектирован так, что бы спасти вас от себя самого. Если вы попытаетесь использовать статические файлы с того же экземпляра Apache, что обслуживает Django, вы потеряете в производительности.
Apache переиспользует процессы между каждым запросом, поэтому, если однажды процесс закешировал весь код и библиотеки для Django, они остаются в памяти. И если вы не используете этот процесс для того, чтобы
обработать запрос Django, вся эта память будет использована зря.

В случае если вы используете отдельный сервер (или virtualhost) для обработки статики, производительность вашего приложения не пострадает.

#советы #coding #python #web
💡 Используйте Django debug toolbar

Инструменты для отладки несут неоценимую помощь в любом языке. Они ускоряют процесс разработки помогая находить ошибки и потенциальные проблемы которые могут возникнуть.

Django debug toolbar позволяет просмотреть все выполненные SQL запросы в процессе рендеринга представления и вы также можете просмотреть stacktrace для любого из них.

#советы #coding #python #web
💡 Django юнит-тестирование

Юнит-тестирование хороший способ убедится что ваши изменения в коде работают так, как ожидается и не ломают предыдущий код. Одна из прекрасных возможностей Django — это то, что писать юнит тесты невероятно просто. Django предлагает возможность использовать doctest или unittest прямо из коробки, а документация Django содержит отличные обучающие материалы и примеры кода, как настроить юнит тесты, чтобы обнаружение багов стало еще более простым занятием.

#советы #coding #python #django #web
📑 В Python 3.10 появятся операторы case и match

На официальном сайте языка Python появилось сообщение от руководителей проекта. В нём они рассказали о том, что в выпуске Python 3.10 появится поддержка двух новых операторов сопоставления: match и case.

#новости #python
📖 Django 3.0. Практика создания веб-сайтов на Python
🖋 Владимир Дронов, 2020

Книга посвящена созданию веб-сайтов на языке Python с использованием веб-фреймворка Django 3.0. Рассмотрены новинки Django 3.0 и дано наиболее полное описание его инструментов: моделей, контроллеров, шаблонов, средств обработки пользовательского ввода, включая выгруженные файлы, разграничения доступа, посредников, сигналов, инструментов для отправки электронной почты, кэширования и пр.

💾 Скачать книгу

WebDEV #book #python #web
💡 Визуализация моделей в Django

Установите Django Command Extensions и pygraphviz и затем используйте следующую команду чтобы получить удобную визуализацию моделей проекта в Django:

./manage.py graph_models -a -g -o my_project.png

WebDEV #советы #python #django #web
💡 Virtualenv в Django

Virtualenv + Python = палочка-выручалочка. Virtualenv будет изолировать настройки Python/Django для каждого отдельного проекта. Это значит, что изменения одного сайта не затронут другие сайты. Также это может оказаться удобным, когда на сервере необходимо держать разные версии Django или python.

WebDEV #советы #python #django #web
💡 Используйте Memcache

Когда низкая производительность может стать проблемой, вы скорее всего захотите установить какую-либо систему кеширования. Django предлагает множество вариантов для кеширования, но лучшим из них на сегодняшний день является memcached.

Установить и использовать memcached весьма просто, если вы используете модуль cmemcache. После того как модуль будет установлен, вам нужно внести одну строку в конфигурацию, чтобы ваши страницы начали выдаваться еще быстрее.

WebDEV #советы #python #django #web
💡 Автозагрузка кастомных тегов, которые можно использовать во всех шаблонах

from django import template
template.add_to_builtins('project.app.templatetags.custom_tag_module')

Если добавить это в модуль который загружается по умолчанию (settings.py,urls.py,every app models.py), у вас будут доступны все теги и фильтры из вашего кастомного модуля в любом шаблоне, без использования {% load custom_tag_module %}.

Аргументом к template.add_to_builtins() может быть путь к любому модулю; ваш кастомный модуль не обязательно должен быть привязан к какому то определенному приложению.
Например, это так же может быть модуль расположенный в корневом каталоге проекта (например: 'project.custom_tag_module').

WebDEV #советы #python #django #web
📖 Django RESTful Web Services
🖋 Gastón C. Hillar, 2018

Django - это веб-фреймворк на Python, который очень упрощает процесс веб-разработки. Он уменьшает объем тривиального кода, что упрощает создание веб-приложений и приводит к более быстрой разработке. Это очень мощный и отличный выбор для создания RESTful приложений

💾 Скачать книгу

WebDEV #book #python #django #web
📖 Python Web Scraping Cookbook: Over 90 proven recipes to get you scraping with Python, micro services, Docker and AWS
🖋 Michael Heydt, 2018

Python Web Scraping Cookbook - это книга, которая научит вас методам разработки высокопроизводительных решений: работа со сканерами, картами сайтов, автоматизацией форм, сайтами на основе Ajax. Вы изучите ряд сценариев, в которых будет полностью охвачена каждая часть жизненного цикла разработки. Вы не только получите навыки проектирования и разработки надежных потоков данных, но и развернете свой проект в AWS. Если вы занимаетесь разработкой ПО, интеллектуальным анализом данных, книга вам будет очень полезна

💾 Скачать книгу

WebDEV #book #python
💡 Спросите у себя — что вам ближе?

Итак, планируя свое будущее, первым делом необходимо определиться со своими интересами. В зависимости от того, чем вам нравится заниматься в жизни больше всего, вы должны решить, какую категорию веб-разработок выбрать в качестве источника будущего заработка. Если вы являетесь любителем рисования на компьютере – вам стоит попробовать себя в качестве веб-дизайнера.

Если же вы - приверженец математики и точных наук, а рисование на дух не переносите – советуем познакомиться с языками программирования типа Ruby, Python, Lisp, и т.д.

Кстати, если вы любите, словно Шерлок Холмс докапываться до самой сути, вы можете попробовать с себя в качестве тестировщика сайтов и веб-приложений. Это также очень востребованная специальность.

WebDEV #советы #Python #дизайн #web
📖 Web Application Development with Streamlit
🖋 Javier Hernández Fernández, 2022

Streamlight - это веб-фреймворк на Python, который позволит преодолеть разрыв в навыках и сократить время разработки с недель до нескольких часов. Эта книга проведет вас через полный цикл разработки веб-приложений, от начального до продвинутого уровня, с сопровождающим исходным кодом и полезными ресурсами

💾 Скачать книгу

WebDEV #book #Python #web
📖 Learn Web Development with Python
🖋 Fabrizio Romano, 2018

Если вы хотите разрабатывать полноценные веб-приложения на Python с помощью Django, этот курс обучения для вас. Он познакомит вас с методами программирования на Python и поможет применить их при создании 4 профессиональных проектов Django, научит вас решать общие проблемы и разрабатывать RESTful веб-сервисы с помощью Django и Python. Вы узнаете, как создать приложение для блога, сайт социальных закладок для изображений, интернет-магазин и платформу для электронного обучения.

💾 Скачать книгу

WebDEV #book #Python #web #Django
📖 Mastering Python for Web
🖋 Sufyan bin Uzayr, 2022

Поскольку Python позиционирует себя в веб-разработке как back-end язык, для создания целого веб-сайта его обычно смешивают с другим front-end языком. В то же время, причин для использования Python в веб-разработке много: это гибкий, универсальный и высокоэффективный язык программирования с возможностью динамической типизации. Эта книга поможет читателям изучить ключевые приемы программирования на Python в области back-end/front-end и подскажет, как их применять при создании профессиональных проектов. Кроме того, основное внимание уделяется обучению читателей решению распространенных проблем и разработке веб-сервисов с помощью таких фреймворков Python, как Django и Flask.

💾 Скачать книгу

WebDEV #book #Python #web #Flask #Django
📖 Beginner’s Guide to Streamlit with Python
🖋 Sujay Raghavendra, 2022

Эта книга начинается с основ Streamlit, демонстрируя, как построить базовое приложение, и переходит к методам визуализации и их возможностям. Далее рассматриваются различные аспекты типичного веб-приложения Streamlit, объясняется, как управлять контролем потока и элементами состояния. Вы также изучите методы оптимизации производительности, необходимые для модулей данных в приложении Streamlit. После этого вы увидите, как развертывать приложения Streamlit на различных платформах. В конце книги приводится несколько прототипов приложений для обработки естественного языка и компьютерного зрения, реализованных с помощью Streamlit.

💾 Скачать книгу

WebDEV #book #Python
📝 Плагины

VS Code неидеален, но другие разработчики делают его лучше, создавая разные плагины для этой IDE. Можно сравнить Python с его кучей библиотек.

Автор делится плагинами, которые сам использует для веб разработки. Ещё более интересные варианты предлагают зрители в комментариях.

📺 YouTube

WebDEV #видео #Python #web