-
Добрый вечер всем
Раньше делал сайта с помощью RoR, но волею судьбы попробовал Django - понравилось. Решил текущий проект делать на нем и возникли некоторые вопросы:
1) Как изменить отображаемое имя таблицы в админке?
2) Как изменить отображаемый заголовок приложения, например вместо "Auth" - "Управление пользователями", "News" - "Новости"
3) Как убрать из админки приложение Sites и что это вообще?
Пока все, заранее всем большое спасибо=) -
И еще вопрос:
Есть таблица comment:
Как сделать, чтобы в админке можно было только редактировать поля text и public, а остальные были просто видимыми?class Comment(models.Model):
author = models.CharField(u"Имя автора",max_length=255)
email = models.EmailField(u"Адрес эл. почты")
text = models.TextField(u"Текст")
public = models.BooleanField(u"Видимость", default = True)
create_date = models.DateTimeField(u"Дата публикации", auto_now=True, auto_now_add=True)
article = models.ForeignKey(Article,blank=True, editable=True, verbose_name=u'Статья')
def __unicode__(self):
return self.author -
И запретить добавление новых комментариев=)
-
Как изменить отображаемое имя таблицы в админке?
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#verbose-name
Типа:
class MyModelAdmin(ModelAdmin): # ... verbose_name = 'Моё моделько'Как изменить отображаемый заголовок приложения
Вот это, к сожалению, по исторически сложившимся причинам пока никак напрямую не делается... Хотя, возможно народ знает какие-то хаки.
Как убрать из админки приложение Sites
Если оно там автоматически есть, то скорее всего:
- У вас приложение sites прописано в INSTALLED_APPS.
- В urlconf'е использован admin.autodiscover, который автоматом ищет все определения админок в установленных приложениях и регистрирует их.
Соответственно, его можно убрать либо отказавшись от приложения sites (кажется оно вам не нужно), либо явно удалив регистрацию админки для него где-нибудь после вызова autodiscover:
from django.contrib.sites.models import Site site.unregister(Site)и что это вообще?
http://docs.djangoproject.com/en/dev/ref/contrib/sites/
Пара дополнительных соображений:
Админка в Джанге — не центральное звено функциональности, а всего лишь отдельное приложение, красиво делающее интроспекцию моделей. Многие ошибочно начинают считать, что сайты в Джанго удобно строить на основе админки. Чаще всего это не так: если нужна какая-то нетупая функциональность, проще писать свой код, а не прогибать админку. Это я не к тому, что это обязательно ваш случай, просто в качестве предостережения.
У Джанги чудесная документация :-).
-
Как сделать, чтобы в админке можно было только редактировать поля text и public, а остальные были просто видимыми?
Просто видимых полей на странице редактирования не бывает. Такая, вот, особенность. Это одна из тех вещей, про которые я говорил в прошлом ответе: админка довольно узконаправленное приложение для контент-менеджмента, но не замена end-user интерфейсу.
Вот скрыть совсем поля — это можно. Но я думаю, вы уже знаете как.
-
Отщеплен новый топик "Выбор хостинга".
-
У джанго действительно замечательная документация, правда я в ней пока что не очень ориентируюсь и некоторые вещи приходиться искать в блогах и т.п.
-
У меня тут возникла мысль, может и бредовая(под 4 часа утра всеже). Ведь в админке можно использовать виджеты. Что мешает сделать readonly виджет? Или я в чем-то ошибаюсь?
-
Вы не ошибаетесь.
Read-only поля не успели сделать к 1.1 (тикет http://code.djangoproject.com/ticket/342 ), но никто не мешает сделать собственные вашим методом. -
anonymous, да уж, по срокам они как всегда(слежу за джанго давно, помойму они всегда в сроки не успевали). Ладно, функциональность не горящая. Найду время - сам допишу и отправлю)))
-
Относительно отображаемого заголовка приложения:
- есть тикет и патч в нём, который решает эту проблему,
- есть способ сделать это без патча, заоверрайдив штук пять шаблонов и один метод,
- можно воспользоваться такой вещью, как sorl-curator -
Админка довольно просто и удобно кастомизируется под себя. Некоторое время назад я описывал пример сего действа: http://getopts.blogspot.com/2008/12/django.html
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.



