1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Refs #32339 -- Allowed renderer to specify default form and formset templates.

Co-authored-by: David Smith <smithdc@gmail.com>
This commit is contained in:
Carlton Gibson
2022-04-26 16:01:59 +02:00
parent 832096478c
commit 476d4d5087
10 changed files with 155 additions and 23 deletions

View File

@@ -66,7 +66,6 @@ class BaseForm(RenderableFormMixin):
prefix = None
use_required_attribute = True
template_name = "django/forms/default.html"
template_name_p = "django/forms/p.html"
template_name_table = "django/forms/table.html"
template_name_ul = "django/forms/ul.html"
@@ -316,6 +315,10 @@ class BaseForm(RenderableFormMixin):
output.append(str_hidden)
return mark_safe("\n".join(output))
@property
def template_name(self):
return self.renderer.form_template_name
def get_context(self):
fields = []
hidden_fields = []

View File

@@ -62,7 +62,7 @@ class BaseFormSet(RenderableFormMixin):
"%(field_names)s. You may need to file a bug report if the issue persists."
),
}
template_name = "django/forms/formsets/default.html"
template_name_p = "django/forms/formsets/p.html"
template_name_table = "django/forms/formsets/table.html"
template_name_ul = "django/forms/formsets/ul.html"
@@ -517,6 +517,10 @@ class BaseFormSet(RenderableFormMixin):
else:
return self.empty_form.media
@property
def template_name(self):
return self.renderer.formset_template_name
def get_context(self):
return {"formset": self}

View File

@@ -15,6 +15,9 @@ def get_default_renderer():
class BaseRenderer:
form_template_name = "django/forms/default.html"
formset_template_name = "django/forms/formsets/default.html"
def get_template(self, template_name):
raise NotImplementedError("subclasses must implement get_template()")