本文整理汇总了Python中wagtail.wagtailcore.models.Page._slug_is_available方法的典型用法代码示例。如果您正苦于以下问题:Python Page._slug_is_available方法的具体用法?Python Page._slug_is_available怎么用?Python Page._slug_is_available使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wagtail.wagtailcore.models.Page
的用法示例。
在下文中一共展示了Page._slug_is_available方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: clean
# 需要导入模块: from wagtail.wagtailcore.models import Page [as 别名]
# 或者: from wagtail.wagtailcore.models.Page import _slug_is_available [as 别名]
def clean(self):
cleaned_data = super(WagtailAdminPageForm, self).clean()
if 'slug' in self.cleaned_data:
if not Page._slug_is_available(
cleaned_data['slug'], self.parent_page, self.instance
):
self.add_error('slug', forms.ValidationError(_("This slug is already in use")))
# Check scheduled publishing fields
go_live_at = cleaned_data.get('go_live_at')
expire_at = cleaned_data.get('expire_at')
# Go live must be before expire
if go_live_at and expire_at:
if go_live_at > expire_at:
msg = _('Go live date/time must be before expiry date/time')
self.add_error('go_live_at', forms.ValidationError(msg))
self.add_error('expire_at', forms.ValidationError(msg))
# Expire at must be in the future
if expire_at and expire_at < timezone.now():
self.add_error('expire_at', forms.ValidationError(_('Expiry date/time must be in the future')))
return cleaned_data
示例2: clean
# 需要导入模块: from wagtail.wagtailcore.models import Page [as 别名]
# 或者: from wagtail.wagtailcore.models.Page import _slug_is_available [as 别名]
def clean(self):
# append number to slug if already in use
i = 2
slug = self.slug
while not Page._slug_is_available(slug, self.get_parent(), self):
slug = "-".join([self.slug, str(i)])
i += 1
self.slug = slug
super().clean()
# title must be short
if len(self.title) > 56:
raise ValidationError({
'title':
"Der Titel ist zu lang. Er darf maximal 56 Zeichen "
"lang sein. Nutz doch den Untertitel."
})
# end_datetime
if self.end_datetime:
if self.end_datetime < self.start_datetime:
raise ValidationError({
'end_datetime':
"Endzeit muss nach Startzeit liegen."
})
# get fallback image
if not self.main_image:
self.main_image = Image.objects.filter(tags__name='event-fallback').order_by('?').first()
# there must not be organizer and related_group
if self.organizer and self.related_group:
raise ValidationError({
'organizer':"Veranstalter oder JANUN-Gruppe, nicht beides."
})