Pull to refresh
  • by relevance
  • by date
  • by rating

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

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
Views 3.2K
Comments 0

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

IT-People corporate blog Python *Django *Big Data *Conferences

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

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

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

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
Views 351
Comments 0

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

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
Views 1.1K
Comments 2

копи-паст

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
Views 747
Comments 3

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

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

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

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

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

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

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

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

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

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

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
Views 4.8K
Comments 28

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

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

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

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

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

StaticGenerator Pro

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

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

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

Связка GMail + Python + Django

Django *
Существует прелестная библиотека для Python — libGmail. Используя эту библиотеку очень просто получать и отправлять письма с GMail. А еще можно сделать из своего аккаунта POP или SMTP сервер.

LibGmail можно использовать как с Питоном так и в связке с любым популярным фреймворком. Например, с Django.

Например, я использую следующий код для отправки уведомления о необходимости активации аккаунта новому пользователю:

import libgmail


def activation(request):
    to_email = request.user.email
    activation_link = dontbeevil.com/activate/%s % request.COOKIES[«sessionid»]
    ga = libgmail.GmailAccount(dontbeevil@gmail.com, «ourpassword»)
    ga.login()
    subject = «Администрация сервиса»
    msg = «Дорогой пользователь! Для активации аккаунта воспользуйтесь этой ссылкой: %s» % activation_link
    gmsg = libgmail.GmailComposedMessage(to_email, subject, msg)
    ga.sendMessage(gmsg)



Использование LibGmail избавило меня от необходимости использовать встроенный SMTP сервер моего хостера. Плюс отсутствие спама на служебный почтовый ящик :) Весь спам попадает в GMail.

Кросс-пост с моего блога.
Total votes 34: ↑31 and ↓3 +28
Views 7.3K
Comments 22

Документация по Django в одном файле

Django *
Один хороший человек взял и скомпилировал всю документацию из
www.djangoproject.com/documentation
в виде одного CHM-файла. Честь ему и слава!

Уже пользуюсь больше месяца, удобно.

Скачать можно отсюда:
charupload.wordpress.com/2007/12/02/django-documentation-chm
(1,3Мб)
Total votes 12: ↑9 and ↓3 +6
Views 5.4K
Comments 9

Django tagging для Django 0.96

Django *
«django-tagging — Джанго приложение, позволяющее добавлять к объектам любой модели тэги и делающее процесс работы с тэгами проще».
code.google.com/p/django-tagging

На странице скачивания в можно скачать самую новую на текущий момент версию — django-tagging 0.2.1

Для меня проблемма в том, что эта версия не работает с Django 0.96 который установлен на хостинге.

Путем несложных умозаключений пришёл к выводу, что старую версию на сервере никто не удалял. Для того что-бы в списке показались все файлы, выбрал опцию поиска «All downloads». Предположение оказалось верным — вот она, django-tagging 0.1.
Прекрасно заработала в моём проекте. Из минусов версии 0.1 хочу отметить отсутствие облака тэгов.

p.s.: Скорее всего прийдеться таки похачить django-tagging 0.2.1 на предмет совместимости с Django 0.96. Очень уж нужно облако тэгов. О результатах обещаю сообщить :)

Оригинал сообщения в моем блоге: konkursof.blogspot.com/2008/03/django-tagging-django-096.html
Total votes 8: ↑6 and ↓2 +4
Views 1.2K
Comments 6

Облако тэгов — Django tagging для Django 0.96 #2

Django *
Продолжение возни с тэгами.

Django-tagging 0.2.1 я не похачил, а наоборот — взял всё самое лучшее из него и перенёс в версию 0.1. Таким образом получилось совместимое с Django 0.96 приложение с готовыми инструментами для создания облака тэгов.

Скачать можно с моего сайта (34Kb). Просто распакуйте архив в папку проекта и добавьте это приложение в INSTALLED_APPS.

#settings.py

INSTALLED_APPS = (
    …
    'myproject.tagging',
)


Очень просто добавить тэги к любой модели вашего проекта. Для этого нужно импортировать из django-tagging поле TagField

Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Views 2K
Comments 5

Фоновая загрузка файлов на сервер

Django *
Все, кто пользуется GMail и завсегдатеи Хабрахабра замечали, что приаттаченные файлы потихоньку загружаются на сервер через несколько секунд бездействия и затем поля с именами файлов заменяются на чекбоксы.

Похожий функционал я реализовал в одном Django-проекте с помощью JQuery.
При выборе ползователем логотипа для визитки, файл логотипа прозрачно загружается на сервер, обрабатывается и затем «отдается» браузеру. и пользователь видит, что в макете логотип поменялся на выбранный им.
Читать дальше →
Total votes 43: ↑37 and ↓6 +31
Views 4.7K
Comments 41