25 lines
727 B
Python
25 lines
727 B
Python
# Copyright (c) 2008 Joost Cassee
|
|
# Licensed under the terms of the MIT License (see LICENSE.txt)
|
|
|
|
from django.contrib.admin import widgets as admin_widgets
|
|
from django.db import models
|
|
|
|
from tinymce import widgets as tinymce_widgets
|
|
|
|
|
|
class HTMLField(models.TextField):
|
|
"""
|
|
A large string field for HTML content. It uses the TinyMCE widget in
|
|
forms.
|
|
"""
|
|
|
|
def formfield(self, **kwargs):
|
|
defaults = {"widget": tinymce_widgets.TinyMCE}
|
|
defaults.update(kwargs)
|
|
|
|
# As an ugly hack, we override the admin widget
|
|
if defaults["widget"] == admin_widgets.AdminTextareaWidget:
|
|
defaults["widget"] = tinymce_widgets.AdminTinyMCE
|
|
|
|
return super().formfield(**defaults)
|