Планы
2010-03-06 22:15:07
Окончательно понял, что ресурсов по дальнейшему переводу в ближайшее время у меня так и не появится. Что ж, будем менять формат сайта. Он по-прежнему останется ориентированным на новичков. Но и заматеревших джангистов тоже приятно видеть на нашем канале.
Исходники перевода будут выложены в формате DocBook XML в Git. Патчи с исправлениями и, может быть, переводами оставшихся глав будут приниматься, проверяться и выкладываться на сайт. Думаю, это поможет всем желающим поучаствовать в данном проекте.
Выложена шестая глава
2009-11-12 19:52:46
Несмотря на страшную загруженность была завершена работа по проверке перевода шестой главы, который был предоставлен Дмитрием aka Alerion. Огромное ему спасибо за проделанную работу.
Седьмая глава переведена
2009-09-03 12:05:29
Данная глава была полностью переработана авторами, поэтому она потребовала значительно больше времени на её перевод. Простая коррекция предыдущей версии главы здесь не помогала. Читайте и присылайте уведомления о замеченных ошибках.
P.S. Скоро обещают прислать перевод шестой главы...
Пятая глава переведена
2009-08-26 21:45:40
На фоне решения сложной (для меня) проблемы с дизайном в стороннего проекта, сегодня за день перевёл пятую главу книги. Всё выложено на сайт. Я пропустил совсем немного английского текста. Места, к которым я планирую вернуться, отмечены словом FIXME. Переводы такого текста можно присылать через жалобную систему.
Книга о Django
2009-08-22 22:10:20
Камрад Plesser любезно предоставил книгу Django. Разработка веб-приложений на Python. Я выделил время на её изучение. Первое время, я даже начал подумывать о завершении работы над переводом второй версии DjangoBook. Но дочитав, понял, что надо продолжать.
Моё резюме книги: Очень хороший материал для человека решившего перейти на Django/Python с других платформ. Материал подаётся наглядно и достаточно подробно. Разбирается работа нескольких приложений: блог, фотогалерея и так далее.
Но!
Книгу писали до выхода версии Django 1.0. Там есть моменты, которые не соответствуют действительности (я имею в виду версию из SVN). И вообще, после года работы с Django понимаешь, что на самом деле проекты надо делать не так как пишут в книжках. Так что, перевод DjangoBook будет продолжен. А там можно будет подумать о книге «Django: Используем по-взрослому.»
|
Без права редактирования
(c) 2009 alerion.um с гмыла
Есть модель комментариев. Нужен интерфейс в админке для их модерирования. Модератор может только удалять комментарии, во избежания казусов "я такого не писал". Нужно убрать права на изменение записи и убрать все ссылки на страницу редактирования комментария.
Файл models.py
class Comment(BaseComment):
content_type = models.ForeignKey(ContentType, related_name="content_type_set_for_%(class)s")
object_id = models.TextField('object ID')
content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_id")
content_object.short_description = u'Статья'
user = models.ForeignKey(User, related_name='%(class)s_comments')
comment = models.TextField('Комментарий', max_length=COMMENT_MAX_LENGTH)
ip = models.IPAddressField('IP', editable=False)
created_at = models.DateTimeField('Добавлен', auto_now_add=True)
class Meta:
verbose_name = 'комментарий'
verbose_name_plural = 'комментарии'
def get_category(self):
'''
Возвращаем читабельное название раздела к которому принадлежит комментарий
'''
parts = {
'news': u'Новости',
'cinema': u'Киноафиша'
}
return parts[self.content_type.app_label]
get_category.short_description = u'Раздел'
Файл admin.py
class CommentAdmin(admin.ModelAdmin):
list_display = ('user', 'comment', 'get_category', 'content_object', 'ip', 'created_at')
list_select_related = True
search_fields = ('comment', 'user__username')
ordering = ('-created_at',)
def has_change_permission(self, request, obj=None):
'''
Если просто возвращать False, django даже не пусть на страницу
списка объектов, которая нам и нужна. Если obj не равно None, значит
пользователь пытается зайти на страницу редактирования, иначе - страницу
списка комменатариев.
'''
if obj:
return False
else:
return super(CommentAdmin, self).has_change_permission(request, obj=None)
def has_add_permission(self, request):
#Запрещаем добавление комментариев через админский интерфейс
return False
def changelist_view(self, request, extra_context=None):
'''
Этот метод возращает таблицу комментариев.
Вот здесь мы убираем ссылку на редактирование комментария на странице списка
комментариев. В __init__ не получается, потому где-то после него ставится
первая колонка по дефолту. (None,) потому что если передать пустой список,
в теге шаблона ссылка добавится на checkbox.
'''
self.list_display_links = (None,)
return super(CommentAdmin, self).changelist_view(request, extra_context=None)
|
Мой луч
Многообразие света
|
|
|
на поддержку перевода
|
|
Ускорить процесс перевода!
R130494980980
Z425285133788
E112528079659
U327380922061
|