Skip to content

Commit 1673fb1

Browse files
authored
Merge pull request #32 from marcoshemann/master
Added excludes for detail view template
2 parents c965ec5 + a293b76 commit 1673fb1

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

crudbuilder/abstract.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ def __init__(
2525

2626
self.custom_modelform = self._has_crud_attr('custom_modelform')
2727
self.modelform_excludes = self._has_crud_attr('modelform_excludes')
28+
self.detailview_excludes = self._has_crud_attr('detailview_excludes')
2829
self.createupdate_forms = self._has_crud_attr('createupdate_forms')
2930

3031
# django tables2

crudbuilder/mixins.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ def get_context_data(self, **kwargs):
7777
context = super(CrudBuilderMixin, self).get_context_data(**kwargs)
7878
model = context['view'].model
7979
context['app_label'] = model._meta.app_label
80+
try:
81+
context['exclude'] = self.detailview_excludes
82+
except:
83+
context['exclude'] =None
8084
context['actual_model_name'] = model.__name__.lower()
8185
context['pluralized_model_name'] = plural(model.__name__.lower())
8286
context['verbose_model_name'] = model._meta.verbose_name

crudbuilder/templates/instance/detail.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ <h3>{{object}}</h3>
3636
</tr>
3737
</thead>
3838
<tbody>
39-
{% for field in object|get_model_fields %}
39+
{% for field in object|get_model_fields:exclude %}
4040
<tr>
4141
<td>{{object|get_verbose_field_name:field.name}}</td>
4242
<td>{{object|get_value:field.name}}</td>

crudbuilder/templatetags/tags.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def get_value(obj, field):
2929

3030

3131
@register.filter
32-
def get_model_fields(obj):
32+
def get_model_fields(obj, exclude=[]):
3333
model = obj.__class__
3434
excludes = ['pk']
3535

@@ -39,8 +39,8 @@ def get_model_fields(obj):
3939
getattr(model, name, None), property
4040
):
4141
property_fields.append(Field(name=name, verbose_name=name))
42-
43-
return chain(obj._meta.fields, property_fields)
42+
ret = chain(obj._meta.fields, property_fields)
43+
return [i for i in ret if i.name not in exclude]
4444

4545

4646
@register.filter

crudbuilder/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ def generate_detail_view(self):
133133

134134
name = model_class_form(self.model + 'DetailView')
135135
detail_args = dict(
136+
detailview_excludes = self.detailview_excludes,
136137
model=self.get_model_class,
137138
template_name=self.get_template('detail'),
138139
login_required=self.check_login_required,

0 commit comments

Comments
 (0)