django-markdownx/markdownx/fields.py

32 lines
802 B
Python
Raw Normal View History

2015-09-06 07:41:45 +00:00
from django import forms
2017-04-23 18:14:08 +00:00
from .widgets import MarkdownxWidget
2015-09-06 07:41:45 +00:00
class MarkdownxFormField(forms.CharField):
"""
"""
2015-09-06 07:41:45 +00:00
def __init__(self, *args, **kwargs):
"""
:param args:
:type args:
:param kwargs:
:type kwargs:
"""
2015-09-06 07:41:45 +00:00
super(MarkdownxFormField, self).__init__(*args, **kwargs)
if issubclass(self.widget.__class__, forms.widgets.MultiWidget):
2017-04-23 18:14:08 +00:00
is_markdownx_widget = any(
issubclass(item.__class__, MarkdownxWidget)
for item in getattr(self.widget, 'widgets', list())
)
if not is_markdownx_widget:
self.widget = MarkdownxWidget()
2017-04-23 18:14:08 +00:00
elif not issubclass(self.widget.__class__, MarkdownxWidget):
2015-09-06 07:41:45 +00:00
self.widget = MarkdownxWidget()