def __init__(self, *args, **kwargs):
super(PageForm, self).__init__(*args, **kwargs)
self.fields['parent'].widget = HiddenInput()
self.fields['site'].widget = HiddenInput()
self.fields['template'].widget = HiddenInput()
self.fields['language'].widget = HiddenInput()
if not self.fields['site'].initial:
self.fields['site'].initial = Site.objects.get_current().pk
site_id = self.fields['site'].initial
languages = get_language_tuple(site_id)
self.fields['language'].choices = languages
if not self.fields['language'].initial:
self.fields['language'].initial = get_language()
if 'page_type' in self.fields:
try:
type_root = Page.objects.get(publisher_is_draft=True, reverse_id=PAGE_TYPES_ID, site=site_id)
except Page.DoesNotExist:
type_root = None
if type_root:
language = self.fields['language'].initial
type_ids = type_root.get_descendants().values_list('pk', flat=True)
titles = Title.objects.filter(page__in=type_ids, language=language)
choices = [('', '----')]
for title in titles:
choices.append((title.page_id, title.title))
self.fields['page_type'].choices = choices
评论列表
文章目录