Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » filter_horizontal -- не отрисовывается javascript-интерфейс [RSS Feed]

#1 Янв. 2, 2010 13:46:55

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

filter_horizontal -- не отрисовывается javascript-интерфейс

Читаю DjangoBook, дошел до использования filter_horizontal. В общем http://s47.radikal.ru/i118/1001/5c/ca749c71f384.png – что получается когда строчка с этим фильтром закомментирована (поле “Автор”). А http://s50.radikal.ru/i127/1001/de/f57debc7ded9.png – когда включаю эту строчку в код. Пока гуглил на эту тему, часто встречал подобные вопросы но решения так и не нашел.

admin.py

from django.contrib import admin
from mysite.books.models import Author, Book, Publisher

class AuthorAdmin(admin.ModelAdmin):
list_display = ('first_name', 'last_name', 'email',)
search_fields = ('first_name', 'last_name',)

class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'publisher', 'publication_date',)
list_filter = ('publication_date',)
date_hierarchy = 'publication_date'
ordering = ('-publication_date',)
# fields = ('title', 'authors', 'publisher',)
filter_horizontal = ('authors',)

admin.site.register(Author, AuthorAdmin)
admin.site.register(Book, BookAdmin)
admin.site.register(Publisher)
models.py
# -*- encoding: utf-8 -*-                                                                                                                    

from django.db import models

class Publisher(models.Model):
name = models.CharField("Компаания", max_length=30)
address = models.CharField("Адрес", max_length=50)
city = models.CharField("город", max_length=60)
state_province = models.CharField("область", max_length=30)
country = models.CharField("страна", max_length=50)
website = models.URLField("WEB сайт")

def __unicode__(self):
return self.name

class Meta:
ordering = ["name"]

class Author(models.Model):
salutation = models.CharField("обращение", max_length=10)
first_name = models.CharField("имя", max_length=30)
last_name = models.CharField("фамилия", max_length=40)
email = models.EmailField("e-mail", blank=True)
headshot = models.ImageField("фото", upload_to="/tmp",blank=True)

def __unicode__(self):
return "%s %s" % (self.first_name, self.last_name,)

class Meta:
ordering = ["first_name", "last_name",]

class Book(models.Model):
title = models.CharField("название", max_length=100)
authors = models.ManyToManyField(Author, verbose_name="автор(ы)")
publisher = models.ForeignKey(Publisher, verbose_name="издатель")
publication_date = models.DateField("дата публикации", blank=True, null=True)

def __unicode__(self):
return self.title

class Meta:
ordering = ["title"]
JavaScript включен. Версия Джанги 1.1.1-2. В чем может быть прикол?



Отредактировано (Янв. 2, 2010 13:56:06)

Офлайн

#2 Янв. 4, 2010 03:43:14

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

filter_horizontal -- не отрисовывается javascript-интерфейс

В общем разобрался методом научного тыка.
Почему то для поля ManyToManyField, несмотря на “encoding: utf-8”, verbose_name должна быть юникодовой строкой: “verbose_name=u'автор(ы)'”. А для остальных типов полей можно обойтись без этого.

Баг? Или я в доках что-то проглядел?



Офлайн

#3 Янв. 5, 2010 10:32:16

tezro
От:
Зарегистрирован: 2009-12-09
Сообщения: 90
Репутация: +  0  -
Профиль   Отправить e-mail  

filter_horizontal -- не отрисовывается javascript-интерфейс

Syao
для остальных типов полей можно обойтись без этого
В каком смысле? Можно использовать русский текст в 1251 файле в неюникодных переменных, когда всё вокруг в UTF и юникоде? Не верю :)

Там это, мелочи…
name = models.CharField("Компаания"…
и обращение по-английски, как ни странно, title



Отредактировано (Янв. 5, 2010 10:34:57)

Офлайн

#4 Янв. 5, 2010 13:17:30

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

filter_horizontal -- не отрисовывается javascript-интерфейс

Про кодировку файла я действительно не к месту ляпнул.
Но по существу, речь о u“” и “”.



Офлайн

#5 Дек. 29, 2010 03:14:41

makinzoid
От:
Зарегистрирован: 2010-12-29
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

filter_horizontal -- не отрисовывается javascript-интерфейс

Syao
Спасибо, чувак! добавил u перед значением verbose_name и javascript появился!



Офлайн

  • Начало
  • » Django
  • » filter_horizontal -- не отрисовывается javascript-интерфейс[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version