Source code for djangocodemirror.fields

# -*- coding: utf-8 -*-
"""
Form field
==========

"""
from django import forms

from djangocodemirror.widgets import CodeMirrorWidget


[docs]class CodeMirrorField(forms.CharField): """ A CharField that comes with CodeMirrorWidget. Arguments: config_name (string): A Codemirror config name available in ``settings.CODEMIRROR_SETTINGS``. Default is ``empty``. """ def __init__(self, *args, **kwargs): self.config_name = kwargs.pop('config_name', 'empty') # Add Codemirror widget to the field kwargs.update({'widget': CodeMirrorWidget}) # Initialize widget with given config name if the field has been # bounded. widget = kwargs.get('widget', None) or self.widget if isinstance(widget, type): kwargs['widget'] = widget(config_name=self.config_name) super(CodeMirrorField, self).__init__(*args, **kwargs)