diff --git a/django/contrib/flatpages/admin.py b/django/contrib/flatpages/admin.py index 02bbaf6b1a9f8..b6fdba3d53827 100644 --- a/django/contrib/flatpages/admin.py +++ b/django/contrib/flatpages/admin.py @@ -1,9 +1,22 @@ +from django import forms from django.contrib import admin from django.contrib.flatpages.models import FlatPage from django.utils.translation import ugettext_lazy as _ +class FlatpageForm(forms.ModelForm): + url = forms.RegexField(label=_("URL"), max_length=100, regex=r'^[-\w/]+$', + help_text = _("Example: '/about/contact/'. Make sure to have leading" + " and trailing slashes."), + error_message = _("This value must contain only letters, numbers," + " underscores, dashes or slashes.")) + + class Meta: + model = FlatPage + + class FlatPageAdmin(admin.ModelAdmin): + form = FlatpageForm fieldsets = ( (None, {'fields': ('url', 'title', 'content', 'sites')}), (_('Advanced options'), {'classes': ('collapse',), 'fields': ('enable_comments', 'registration_required', 'template_name')}), @@ -12,4 +25,4 @@ class FlatPageAdmin(admin.ModelAdmin): list_filter = ('sites', 'enable_comments', 'registration_required') search_fields = ('url', 'title') -admin.site.register(FlatPage, FlatPageAdmin) \ No newline at end of file +admin.site.register(FlatPage, FlatPageAdmin) diff --git a/django/contrib/flatpages/models.py b/django/contrib/flatpages/models.py index 466425cb4668f..02005dd07d5de 100644 --- a/django/contrib/flatpages/models.py +++ b/django/contrib/flatpages/models.py @@ -5,8 +5,7 @@ class FlatPage(models.Model): - url = models.CharField(_('URL'), max_length=100, validator_list=[validators.isAlphaNumericURL], db_index=True, - help_text=_("Example: '/about/contact/'. Make sure to have leading and trailing slashes.")) + url = models.CharField(_('URL'), max_length=100, db_index=True) title = models.CharField(_('title'), max_length=200) content = models.TextField(_('content'), blank=True) enable_comments = models.BooleanField(_('enable comments')) @@ -20,7 +19,7 @@ class Meta: verbose_name = _('flat page') verbose_name_plural = _('flat pages') ordering = ('url',) - + def __unicode__(self): return u"%s -- %s" % (self.url, self.title)