from django import forms
from django.utils.safestring import mark_safe


class ReadOnlyWidget(forms.Widget):
    def __init__(self, *args):
        if len(args) == 1:
            args = (args[0], args[0])
        self.original_value = args[0]
        self.display_value = args[1]
        super(ReadOnlyWidget, self).__init__()
    
    def render(self, name, value, attrs=None):
        if self.display_value is not None:
            return mark_safe(self.display_value)
        return mark_safe(self.original_value)
    
    def value_from_datadict(self, data, files, name):
        return self.original_value