def __init__(self, *args, **kwargs): from pagedown.widgets import AdminPagedownWidget # Imported here to prevent errors from collectstatic super(EventAdminForm, self).__init__(*args, **kwargs) self.fields['description'].widget = AdminPagedownWidget() self.fields['time_detail'].widget = AdminPagedownWidget() self.fields['additional_info'].widget = AdminPagedownWidget()
class AdminEntryForm(forms.ModelForm): deck = forms.CharField(widget=AdminPagedownWidget()) body = forms.CharField(widget=AdminPagedownWidget(), required=False) class Meta: model = Entry fields = ['title', 'deck', 'body', 'slug', 'url', 'user', 'topic', 'pub_date', 'is_active', 'channel', 'content_format', 'featured_image', 'template']
class AdminSongForm(forms.ModelForm): description = forms.CharField(widget=AdminPagedownWidget(), max_length=500) lyrics = forms.CharField(widget=AdminPagedownWidget(attrs={'rows': 2}), max_length=500) class Meta: model = Song fields = '__all__'
class ReleaseAdminForm(forms.ModelForm): system_requirements = forms.CharField(widget=AdminPagedownWidget(), required=False) text = forms.CharField(widget=AdminPagedownWidget(), required=False) release_date = forms.DateTimeField(widget=admin.widgets.AdminDateWidget) class Meta: model = models.Release
class Meta: widgets = { 'url': EnclosedInput(prepend='icon-globe'), 'pm_url': EnclosedInput(prepend='icon-globe'), 'facebook_group': EnclosedInput(prepend='icon-globe'), 'github_repo': EnclosedInput(prepend='icon-globe'), 'strategy': AdminPagedownWidget(), 'description': AdminPagedownWidget() }
class ReleaseAdminForm(forms.ModelForm): system_requirements = forms.CharField(widget=AdminPagedownWidget(), required=False) text = forms.CharField(widget=AdminPagedownWidget(), required=False) release_date = forms.DateTimeField(widget=admin.widgets.AdminDateWidget) class Meta: model = models.Release fields = ("is_public", "product", "channel", "version", "release_date", "text", "bug_list", "bug_search_url", "system_requirements")
class ArticleForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget()) # 注意此处的content就是markdown编辑器所在,但不会保存数据,只供预览 class Meta: model = Blog fields = '__all__'
class PostForm(forms.ModelForm): tags = forms.CharField( max_length=255, help_text= 'Enter each tag separated by a comma and a space. eg. "tag1, tag2"') text = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Post fields = [ 'title', 'slug', 'author', 'text', 'publish', 'status', 'tags', ] def create_tags(self): tags_list = self.cleaned_data['tags'].split(',') post = super(PostForm, self).save() for tag in tags_list: tag_name = tag.strip() new_tag = Tag.objects.get_or_create(name=tag_name)[0] new_tag.posts.add(post.id) new_tag.save()
class EssayModelForm(forms.ModelForm): text = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Essay fields = ('is_note', 'slug', 'author', 'title', 'text', 'pids', 'people')
class PageAdmin(admin.ModelAdmin): def image_display(self, obj): if obj.poster: thumb = default.backend.get_thumbnail(obj.poster, ADMIN_THUMBS_SIZE) return '<img src="%s" width="%s" />' % (thumb.url, thumb.width) else: return 'No Image' image_display.allow_tags = True formfield_overrides = { models.TextField: { 'widget': AdminPagedownWidget(show_preview=False) }, } fieldsets = ( ('Additionally', { 'classes': ('collapse', ), 'fields': ('slug', ) }), ('Content', { 'fields': ('status', 'in_menu', 'title', 'poster', 'content') }), ) list_display = ('title', 'image_display', 'status') readonly_fields = ('slug', ) list_per_page = 15
class FlatPageForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = FlatPage fields = '__all__'
class AdminBiographyForm(forms.ModelForm): bio = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Biography fields = ('name', 'trp_id', 'alternate_names', 'external_id', 'birth_date', 'death_date', 'roles', 'bio')
class Meta: model = Post fields = ('title', 'author', 'tags', 'body', 'publish', 'status', 'views', 'likes') widgets = { 'body': AdminPagedownWidget(css=("admin/admin-pagedown.css", )), }
class PostAdmin(admin.ModelAdmin): def image_display(self, obj): if obj.poster: thumb = default.backend.get_thumbnail(obj.poster, ADMIN_THUMBS_SIZE) return '<img src="%s" width="%s" />' % (thumb.url, thumb.width) else: return 'No Image' image_display.allow_tags = True formfield_overrides = { models.TextField: { 'widget': AdminPagedownWidget(show_preview=False) }, } fieldsets = ( ('Additionally', { 'classes': ('collapse', ), 'fields': ('slug', 'date', 'views') }), ('Content', { 'fields': ('status', 'title', 'poster', 'content', 'tags') }), ) filter_horizontal = ('tags', ) list_editable = ('status', ) readonly_fields = ('views', 'slug') list_display = ('title', 'image_display', 'date', 'status', 'views') list_per_page = 15 def save_model(self, request, obj, form, change): if getattr(obj, 'author', None) is None: obj.author = request.user obj.save()
class AdminAlbumForm(forms.ModelForm): '''An admin form for Albums''' descripion = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Album fields = '__all__'
class EntryForm(forms.ModelForm): description = forms.CharField(widget=AdminPagedownWidget()) class Meta: fields = ('title', 'description', 'tag') model = Entry def __init__(self, action='', *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_id = 'EntryForm' self.helper.form_method = 'POST' self.helper.form_class = 'form-horizontal' self.helper.label_class = 'col-sm-2' self.helper.field_class = 'col-sm-8' self.helper.form_action = action self.helper.layout = Layout( Fieldset( 'Entry', 'title', 'description', 'tag', ), FormActions(Submit('submit', 'Submit', css_class="btn-primary"), Button('cancel', 'Cancel', onclick='history.go(-1);'))) def save(self, submitter=None, *args, **kwargs): if not self.instance.pk: self.instance.submitter = submitter return super().save()
class AdminStoryPageForm(forms.ModelForm): content = forms.CharField( widget=AdminPagedownWidget() ) class Meta: model = StoryPage fields = ( 'slug', 'title', 'author', 'date', 'short_summary', 'thumbnail_intro' ,'thumbnail_image_url', 'content', 'relevant_inscription_id' )
class ArticleForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget(), required=False, label='') class Meta: model = Article fields = '__all__' # Or a list of the fields you want to include in your form
class LectureNoteForm(forms.ModelForm): lecture_note = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = LectureNote fields = [ 'title', 'lecture_note', 'upload', 'download', ] # XXX: Se esses campos forem passada dentro da lista levanta uma # exceção. Entretanto, se não forem adicionados a lista, ainda sim # são exibidos no admin. # # django.core.exceptions.FieldError: # Unknown field(s)(timestamp, updated) specified for LectureNote # # 'timestamp', # 'updated', def clean(self): cleaned_data = super(LectureNoteForm, self).clean() uploaded_file = self.cleaned_data["upload"] if uploaded_file: if not validate_pdf(uploaded_file): msg = 'Unsupported file type. Just PDF are allowed.' self.add_error('upload', msg) return cleaned_data
class PostForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Post fields = "__all__"
class ArticleForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget(), required=False, label='') class Meta: model = Article fields = '__all__'
class Meta: model = Article widgets = { 'content_markdown': AdminPagedownWidget(), } exclude = [ 'content_markup', ]
def __init__(self, *args, **kwargs): if 'widget' not in kwargs: kwargs['widget'] = AdminPagedownWidget() self.markdown_whitelist = kwargs.pop( 'markdown_whitelist', DEFAULT_MARKDOWN_WHITELIST ) super(MarkdownAdminField, self).__init__(*args, **kwargs)
class Meta: model = Entry fields = ('author', 'title', 'category', 'tag', 'text') widgets = { 'title': forms.TextInput(attrs={'size': 85}), 'text': AdminPagedownWidget(), 'author': forms.HiddenInput, }
def __init__(self, *args, **kwargs): """This overrides the constructor, and adds the class datetimepicker.""" super(RockFaceAdminForm, self).__init__(*args, **kwargs) self.fields['geo_data'].widget.attrs['class'] = 'hidden' self.fields['short_description'].widget = forms.Textarea(attrs={ 'cols': '40', 'rows': '2' }) self.fields['long_description'].widget = AdminPagedownWidget()
class PageDescriptionForm(forms.ModelForm): description = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = PageDescription fields = [ 'title', 'description', ]
class AboutForm(forms.ModelForm): """ admin about后台表单 """ content = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = About fields = "__all__"
class PostAdminForm(ModelForm): """ """ post_content = CharField(widget=AdminPagedownWidget()) class Meta: model = Post fields = '__all__'
class ArticleForm(forms.ModelForm): """ 用于 Pagedown 扩展 admin 增加文章表单 """ content = forms.CharField(label='正文', widget=AdminPagedownWidget()) class Meta: model = Article fields = '__all__'
class ArticleForm(forms.ModelForm): # 这里的字段是重写的字段 # category = forms.ModelMultipleChoiceField(Category.objects.all(), label = u'标签') # 注意此处的content就是markdown编辑器所在, 但不会保存数据, 只供预览 contents = forms.CharField(label=u'内容', widget=AdminPagedownWidget()) class Meta: model = Article # fields保存的是可显示出来的字段 fields = '__all__'