Архивы по Категориям: Новости - Page 6

Django показывать в админке пользователю только его объекты

Ещё довольно частая задача, надо чтоб пользователю в админке показывались только его объекты.
и второй момент, есть у нас в модели поле автор
[cc lang=”python”] author = models.ForeignKey(User, null = True, blank = True , verbose_name=u’Имя’)[/cc]
и хочу чтоб пользователю в админке это поле не показывалось, но автоматически при сохранении подставлялся request.user

Реализуется это как всё по Джанговски в пару движений

в admin.py
наследуемся от модели admin
и немногожечrо допиливаем её

[cc lang=”python”]class ListAdmin(admin.ModelAdmin):
# Добавим всякие фильтра
list_filter = (‘rooms’,’region’,’street’, ‘pub_date’)
#Говорим, чтоб не показывать это поле
exclude = (‘author’,)
# Тут начинается магия, СуперАдмину показываем всё, а пользователю, показываем только его объекты
def queryset(self, request):
if request.user.is_superuser:
return super(ListAdmin, self).queryset(request)
else:
return super(ListAdmin, self).queryset(request).filter(author = request.user)
# Так решим вторую задачу, в поле author подставляем request.user
def save_model(self, request, obj, form, change):
if getattr(obj, ‘author’, None) is None:
obj.author = request.user
obj.save()

admin.site.register(Estate,ListAdmin)[/cc]

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

Django чётность в шаблоне, разукрашиваем таблицу

Способов несколько можно через фильтра, с условиями, а можно вот так красиво

……..
[cc lang=”html”]{% for estate in profile.Estates %}

………

[/cc]

Django загрузка картинки и создания кропнутой превьюшки ( thumbnail )

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

Напомню, что у нас есть модель профиль и там поле аватарки
[cc lang=”python”] avatar = models.ImageField(verbose_name=u’Путь до аватарки’, upload_to = ‘users/’, null = True, blank = True)[/cc]

Теперь предположим, что у нас 2 странички, одна страничка целиком и полностью посвящена Пользователю, например так

И например вот такая страница где выводится полный список всех пользователей

разные размеры, разные соотношения сторон, привет верстальщику 😉
Ну да ладно, блуждая по тырнету наткнулся на сниппет

На его основе делаю, делаю при сохранении модели создания 2х картинок
одну звать полностью, у второй есть дописка _thumb.jpg например
[cc lang=”python”]
def save(self,size=(276,317), *args, **kwargs):
super(UserProfile, self).save(*args, **kwargs)
try:
# Создаём первое изображение
filename= self.avatar.path
image = Image.open(filename)
image.thumbnail(size, Image.ANTIALIAS)
image.save(filename)
#Создаём мелкую картинку, если оно не верных размером кропаем под вёрстку
size=(104,127)
pw = self.avatar.width
ph = self.avatar.height
nw = size[0]
nh = size[1]

# only do this if the image needs resizing
if (pw, ph) != (nw, nh):
filename = str(self.avatar.path)
image = Image.open(filename)
pr = float(pw) / float(ph)
nr = float(nw) / float(nh)

if pr > nr:
# photo aspect is wider than destination ratio
tw = int(round(nh * pr))
image = image.resize((tw, nh), Image.ANTIALIAS)
l = int(round(( tw – nw ) / 2.0))
image = image.crop((l, 0, l + nw, nh))
elif pr < nr: # photo aspect is taller than destination ratio th = int(round(nw / pr)) image = image.resize((nw, th), Image.ANTIALIAS) t = int(round(( th - nh ) / 2.0)) print((0, t, nw, t + nh)) image = image.crop((0, t, nw, t + nh)) else: # photo aspect matches the destination ratio image = image.resize(size, Image.ANTIALIAS) file, ext = os.path.splitext(filename) image.save(file + "_thumb.jpg", "JPEG") except : filename=''[/cc] По итогу создаются 2 картинки, для вывода полного изображения ничего не придумываю просто в шаблоне [cc lang="html"][/cc]

А для вывода второго изображения описываю свойство дополнительное, примерно вот так

[cc lang=”python”] def avatarTumb(self):
try:
filename= self.avatar.path
file = os.path.basename(filename)
files, ext = os.path.splitext(file)
return u’%s_thumb.jpg’ % (files)
except :
filename=”[/cc]

ну и собственно обращаемся вот так
[cc lang=”html”][/cc]

Свои варианты предлагайте ниже, как показало время это полезно очень, что-то можно сделать более удобно, может где-то я допустил ошибку 😉

Удобно парсим HTML левого сайта

Вставала задача с сайта спортивного офицального получить таблицу результатов.
1 понятное дело получаем код сайта курлом
и потом результат скармливаем чудо биботеки PHP Simple HTML DOM Parser

она ХТМЛ код превращает в ДОМ дерево.
примеров на просторах тырнетов масса, могу вот эту ссылочку порекомендовать к прочтению с примерами.
Читать тут

Про отпуска и выходные

Пост куда буду складывать ссылки интересные, накопилось уже много.

Начну с того что я посетил уже, почитать можно вот вот это

Кату-Ярык

http://travel.drom.ru/12833/ – Красноярск -горный Алтай – Кату-Ярык на Camry Gracia 2009й год.

Мультинские озёра

http://travel.drom.ru/17283/ – Красноярск – горный Алтай – Мультинские озёра на Toyota Mark II (отчёт 2010 года )

и немного фотографий с Ергак 2011 года.

 

А теперь самое вкусное, что в планах, в планах купить что-то полно приводное с рамой, раздаткой, на больших колёсах. для более глубокого изучания Алтай.

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

Часть первая. Дорога Москва – Алтай
Часть вторая. Горный Алтай.
Часть третья. Плато Укок

Часть 4 Тыва http://qzmn.livejournal.com/17622.html

Ну и куда же без Ильи (nub1an) Вот тоже прямо очень рекомендую к просмотру в обязательном порядке.

Внедорожная экспедиция Алтай – Саяны 2008.
Путь из Горного Алтая к Саянам, вдоль границы с Монголией.
Горный Алтай – Тыва – Хакассия – Красноярский край, 2 000 км.
Выжженные степи, снежные вершины, горные реки, громадные озера, десяток перевалов высотой более 2 000 м.
И воздух, кристальной чистоты воздух на просторах в десятки километров.

Часть первая.
Часть вторая.

 

 

После этого я бы хотел посетить Среднюю Азию, Узбекистан Киргизию и т.п.

Почитать про это всё можно у Ильи

Узбекистан
Майские праздники в Средней Азии.
Пустыня Кызылкум, дно Аральского моря, кладбище кораблей.
И конечно древние города Великого Шелкового пути – Хива, Бухара, Самарканд.

Часть первая.
Часть вторая.

Центральный Тянь-Шань, Киргизия
Высокогорье, каньоны, ущелья, перевалы до 4 000 метров.
Семитысячники в прямой видимости и конечно Иссык-куль.

Часть первая.
Часть вторая.

Пост про масштабы.
Немного технических данных о поездке.

Памирский тракт, Таджикистан
Декабрь 2011 года, путешествие на Land Rover.
Высокогорный Памир, граница с Афганистаном, дорога в окружении пяти- и шеститысячников.
Семь перевалов выше 4 000 метров, снежные шапки гор, ущелья и безжизненные озера во льду.

Часть первая.
Часть вторая.

 

 

 

Что ещё добавить, этим летом хочу разведать южное направление, а именно Казахстан, почитать рекомендую вот это

http://travel.drom.ru/17686/

ещё http://travel.drom.ru/17397/
Add1
http://traschik.livejournal.com/ – На ВАЗе в азию
http://krsk-kot.livejournal.com/52307.html – вот ещё интересный момент, мне кажется что с ними мы уже встречались

Пока этого хватит потом ещё буду скидывать 🙂