Pull to refresh

Выпущено еще одно дополнение управления доступом на уровне строк для Django REST Framework

Reading time 1 min
Views 4.2K
Python *Django *

Вышел пакет Django-REST-Access для подключения пакета Django-Access в качестве бакенда динамического управления доступом на уровне объектов (строк) и фильтрации видимых объектов в Django REST Framework.


Django REST Framework — популярный расширяемый пакет конструирования HTTP API на основе проектов Django.


Django-Access — гибкий пакет динамического управления правами на уровне объектов (строк).

Total votes 3: ↑3 and ↓0 +3
Comments 0

PyCon Russia 2021 пройдет 5-6 сентября. Принимаем заявки на доклады

Reading time 3 min
Views 986
IT-People corporate blog Python *Django *Big Data *Conferences

Этот PyCon Russia проведем в стиле (пост)апокалипсиса :) Предугадать события невозможно, но сейчас подготовка идет полным ходом: программа наполовину собрана, спикеры готовятся, огромная база отдыха на берегу Клязьменского водохранилища забронирована. Смотрите, какие темы ждем в этом году, успевайте подавать заявки и выступите на самой большой и душевной русскоязычной конференции питонистов.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 2

TechnoMeetsPython. Онлайн митап о Python-разработке

Reading time 2 min
Views 938
Python *Django *

27 апреля в 18:00 собираем питонистов на YouTube-канале «Технократии». Будем обсуждать Redis, FastAPI, SQLAlchemy и asynсio. Среди гостей Павель Мальцев из сервиса Speechki, а также Никита Архипов из Технократии. Также организуем круглый стол, за которым поговорим на тему «FastAPI vs Django. Останется только один?».

Подробнее
Total votes 2: ↑2 and ↓0 +2
Comments 0

Разработчики Django исправили уязвимость, которая может привести к подстановке стороннего SQL-кода

Reading time 1 min
Views 2K
Information Security *Open source *Python *Django *

Разработчики опубликовали корректирующие выпуски фреймворка Django 4.0.6 и 3.2.14, в которых устранили уязвимость CVE-2022-34265. Она потенциально позволяла выполнить подстановку своего SQL-кода. 

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Свежие PEP, SQLAlchemy 2.0 и топ библиотек 2022 — обсуждаем в прямом эфире

Reading time 1 min
Views 1.1K
Website development *Python *Django *Flask *

Привет! В рамках Moscow Python Podcast поделимся интересными на наш взгляд новостями и апдейтами мира Python. Первый выпуск проведем 3 февраля в 14:00 по Москве.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 1

Вебинар «Релиз приложения в облаке: разворачиваем Django на промышленные рельсы» 14 марта

Reading time 1 min
Views 637
VK corporate blog Cloud computing *

На предыдущем воркшопе из этой серии мы говорили про основы Terraform, Ansible, Docker-compose, а также учились разворачивать готовое приложение в облаке.

14 марта в 17:00 по Москве присоединяйтесь к воркшопу «Релиз приложения в облаке: разворачиваем Django на промышленные рельсы».

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

Читать дальше →
Total votes 1: ↑0 and ↓1 -1
Comments 0

Что нового в Python за март — обсуждаем в прямом эфире

Reading time 1 min
Views 1.4K
Website development *Python *Django *Flask *

Привет! В рамках Moscow Python Podcast поделимся интересными на наш взгляд новостями и апдейтами мира Python. Выпуск проведем 7 апреля в 14:00 по Москве. Обсудим LTS-релиз Django 4.2, релизы Pandas 2.0 и PyTorch 2.0 и другие новости последнего месяца. Больше под катом.

Читать далее
Total votes 13: ↑12 and ↓1 +11
Comments 0

Что нового в Python за апрель — обсуждаем в прямом эфире

Reading time 1 min
Views 1.6K
Website development *Python *Django *Flask *

Привет! В рамках Moscow Python Podcast поделимся интересными на наш взгляд новостями и апдейтами мира Python. Выпуск проведем сегодня, 5 мая в 14:00 по Москве. Обсудим поддержку trusted publisher от PyPI, менеджер пакетов от Flask, релиз urlib3 2.0 и другие новости последнего месяца. Больше под катом.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 0

Джейкоб Каплан-Мосс приглашает на викторину

Reading time 1 min
Views 838
Lumber room
Сегодня ведущий разработчик Django, Джейкоб Каплан-Мосс, сделал объявление о викторине для веб-разработчиков.

Суть в том, что он будет каждую неделю задавать вопрос, так или иначе касающийся какого-то инструментария или технологии в веб-разработке, а через неделю задавать новый вопрос и писать ответ на предыдущий.
Думаю, многим на Хабре будет интересно следить за этой викториной.

update:
www.sitepoint.com/blogs/category/web-developer-quiz — Блог виторины
www.sitepoint.com/blogs/2006/11/14/scavenger-hunt — Первый вопрос

P.S.
Извиняюсь за отсутствие перевода статьи, просто я не слишком силен в литературном переводе, так что если кто-то возьмется это сделать за меня буду очень благодарен.
Total votes 2: ↑2 and ↓0 +2
Comments 0

На тему корневого каталога

Reading time 2 min
Views 1.8K
Lumber room
Несмотря на все мои ухищрения и попытки сделать сайт на джанге каталого-независимым, я все же наткнулся на грабли, зарытые в самой джанге.

Напомню, весь сыр-бор из-за того, что у заказчика (да и у меня) корневая директория сайта — это не всегда корневая директория домена. Т.е. первая страница сайта часто расположена по адресу site/dj, по разным техническим причинам. Самая из них распространенная — наличие у заказчика каких-то модулей на PHP, которые лежат на том же сервере и тоже нужны.

Засада при этом заключается в том, что в шаблонах и httpredirect'ах необходимо задавать полные пути к страницам. И если внутри самой джанги этот путь еще понятен (хотя необходимость из view'а при httpredirect'е указывать полный путь к странице я считаю безобразием), то корневая директория может меняться. И перелопачивать потом весь код для ее исправления будет грустно.

Выход я нашел следующий: в settings.py прописывается переменная ROOT = '' и пишется небольшой templatetag:

root.py:
from django.template import Library

register = Library()

register.simple_tag
def root():
"""
Returns the string contained in the setting ROOT.
"""
try:
import settings
except ImportError:
return ''
return settings.ROOT


и все. Теперь в шаблонах после {% load root %} пишем в начале каждого пути {%root%} и получаем что хотели. В viewax, соответственно, используем для тех же целей settings.ROOT

Беда пришла откуда не ждали. Оказалось, что в недрах джанговского auth есть прибитый гвоздями путь '/accounts/login', на который перенаправляются запросы в случае необходимости авторизации. Выходов на данный момент я вижу два: либо не пользоваться стандартными декораторами для проверки залогинен ли пользователь (что неудобно), либо хакать саму джангу. Пока я пошел по второму пути, но это неправильно.

Я добавил в django/contrib/auth/__init__.py строчку
if hasattr(settings,'LOGIN_URL'): LOGIN_URL=settings.LOGIN_URL


и добавил в settings.py
LOGIN_URL = '%s/login/' % ROOT
Total votes 9: ↑5 and ↓4 +1
Comments 2

копи-паст

Reading time 1 min
Views 1.3K
Lumber room
Сегодня наткнулся на интересный сервис. dpaste.com
Он позволяет сохранить исходный код на их сервере, а потом давать на него ссылки. Зачем? Ну например чтобы не захламлять форум\ирк канал\чат и тп, когда необходимо показать кому-то свой кусок кода. Или когда необходимо продублировать код в нескольких местах.
Поддерживает подсветку Python, Django HTML templates, SQL, diffs, XML, CSS, JavaScript, Apache config files, bash scripts, Ruby, RHTML.

Так же существует аналогичный сервис LodgeIt, а так же доступны его исходники. Соответственно такой же функционал можно прикрутить куда угодно.

За наводку спасибо slav0nic.
Total votes 11: ↑8 and ↓3 +5
Comments 3

Энциклопедия языков программирования

Reading time 1 min
Views 1.4K
Lumber room
Вот, задумал сделать энциклопедию языков программирования.

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

Проект не ставит своей целью замену Wikipedia. Цель — систематизировать, показать связи и различия между языками и версиями. Поэтому о каждом языке дается лишь основная информация и ссылки (при наличии) на англоязычную и русскоязычную страницы в Wikipedia.

Вот что есть на данный момент: progopedia.ru
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 46

Выбор python-фреймворка

Reading time 2 min
Views 8.1K
Lumber room
Вот заинтересовался вопросом веб-фреймворков на python. Направление это сейчас перспективное и очень активно развивается.
Хотел бы вместе с хабралюдьми обсудить эту тему, кто на чем пишет, какие преимущества и т.д.
Список фреймворков, их описание и обсуждение
Total votes 10: ↑8 and ↓2 +6
Comments 39

django.newforms: Используем.

Reading time 3 min
Views 2.4K
Django *
Изредко работая над своим личным проектом, я дошёл до задачи сделать форму… Форму добавления места. Проблема в том, что она достаточно не типична. Я решил написать по этому поводу статью, которая поможет глубже проникнуть в newforms новичкам.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 35

Книга о Django вышла в свет

Reading time 1 min
Views 4.9K
Website development *
На прошлой неделе вышла книга о фреймворке Django — «The Definitive Guide to Django: Web Development Done Right». Её можно купить на Амазоне или почитать в онлайне.

Черновик был опубликован в сети около года назад. С тех пор читатели добавили около двух с половиной тысяч комментариев. Авторы книги (Adrian Holovaty и Jacob Kaplan-Moss) высоко оценивают качество и количество замечаний и благодарны всем, кто участвовал в совершенствовании текста.

Django — это замечательный веб-фреймворк, написанный на языке Python. Важнейшее отличие Django от общеизвестного RoR состоит в том, что модели определяются на языке программирования и структура БД генерируется автоматически, а не наоборот. От основных собратьев по языку Django отличается в первую очередь монолитностью. (Разумеется, все отличия имеют свои положительные и отрицательные стороны.)
Total votes 31: ↑29 and ↓2 +27
Comments 28

Гонки для фреймворков…

Reading time 1 min
Views 853
Lumber room
Гонки для фреймворков…

Недавно задался целью выбрать для своего личного проекта фреймворк. Тема производительности сайт-конструкторов муссировалась неоднократно…
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 14

django-voting сортировка по рейтингу

Reading time 2 min
Views 2.1K
Django *
Думаю, многие знакомы с этим расширением, но всё же:
django-voting позволяет ввести оценку любой сущности по digg-принципу (+1/-1) максимум за 30 минут (с учётом включения асинхронных запросов JS).
Сайт проекта: django-voting.googlecode.com
Но есть одна плохая особенность: отсутствие возможности сортировать сущности по рейтингу стандартными средствами ORM. Далее опишу как это реализовал я.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 15

StaticGenerator Pro

Reading time 3 min
Views 1.5K
Django *
Jared Kuolt создал небольшой скрипт кэширования для Django. Всем замечателен: и простотой и размером.

Но у скрипта StaticGenerator и nginx-конфига, приведенного Jared-ом, есть недостатки:
1) актуально только для сайтов без регистрации;
2) работа с ссылками только простого вида;
3) генерация только при изменении/добавлении контента и/или комментариев.

Я исправил эти недочеты, добавил кое-что интересное в скрипт, и получился StaticGenerator Pro.
Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Comments 7

Django: Не изобретая велосипед

Reading time 2 min
Views 2.6K
Lumber room
Хотел поделиться списком django-проектов, которые могут быть очень полезны при старте любого нового проекта. Чтобы, как говориться, «не изобретать велосипед».

Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 3