具有django权限的Django-Tables列模板
Django-Tables column templates with django permissions
所以,我正在使用 Django-Tables 生成我的项目数据表,但现在我遇到了一个新问题。
我有这个 Table Class 来生成我的模型数据表,使用 DjangoTables 应用程序。然后我使用 TemplateColumn 为基本操作创建一个新列,就像编辑、复制、删除...这些东西进入模板,该模板被加载到每一行的列中。
class ReservationTable(tables.Table):
operations = tables.TemplateColumn(template_name='base_table_operations_btn.html', verbose_name= _('Operations'))
所以在模板中我得到了这个:
{% if perms.reservation.add_reservation %}
<a href="/reservation/reservation/{{ record.id }}/copy" class="btn btn-success"><span class="glyphicon glyphicon-paperclip"></span></a>
{% endif %}
因此,使用 django 模板 perms 标签在这里不起作用,但它适用于普通的 django 模板。
关于如何将这些烫发处理到此类模板中的任何提示?我有点迷路了。
提前致谢!
所以,对于这个问题,它不仅仅是 "perfect answer",而是我设法解决这个问题的方法:
我没有在模板 django 权限中使用,而是设法在路由 url 配置中设置了权限。只需添加:
permission_required('permision_name',raise_exception=True)
函数在url.py。所以这里是完整的 url 行:
url(r'^reservation/flight/add/$', permission_required('reservation.add_reservation',raise_exception=True)(FlightReservationCreate.as_view()), name='reservation-flight-create'),
这允许我向视图添加权限,而不是过滤到模板视图中。
这不是一个完美的解决方案,因为它是一种不同的权限管理方式,而且 django-tables2 列模板的问题仍然存在。
顺便说一句,我的最终结果是一样的,所以没关系。
所以,我正在使用 Django-Tables 生成我的项目数据表,但现在我遇到了一个新问题。
我有这个 Table Class 来生成我的模型数据表,使用 DjangoTables 应用程序。然后我使用 TemplateColumn 为基本操作创建一个新列,就像编辑、复制、删除...这些东西进入模板,该模板被加载到每一行的列中。
class ReservationTable(tables.Table):
operations = tables.TemplateColumn(template_name='base_table_operations_btn.html', verbose_name= _('Operations'))
所以在模板中我得到了这个:
{% if perms.reservation.add_reservation %}
<a href="/reservation/reservation/{{ record.id }}/copy" class="btn btn-success"><span class="glyphicon glyphicon-paperclip"></span></a>
{% endif %}
因此,使用 django 模板 perms 标签在这里不起作用,但它适用于普通的 django 模板。
关于如何将这些烫发处理到此类模板中的任何提示?我有点迷路了。
提前致谢!
所以,对于这个问题,它不仅仅是 "perfect answer",而是我设法解决这个问题的方法:
我没有在模板 django 权限中使用,而是设法在路由 url 配置中设置了权限。只需添加:
permission_required('permision_name',raise_exception=True)
函数在url.py。所以这里是完整的 url 行:
url(r'^reservation/flight/add/$', permission_required('reservation.add_reservation',raise_exception=True)(FlightReservationCreate.as_view()), name='reservation-flight-create'),
这允许我向视图添加权限,而不是过滤到模板视图中。
这不是一个完美的解决方案,因为它是一种不同的权限管理方式,而且 django-tables2 列模板的问题仍然存在。
顺便说一句,我的最终结果是一样的,所以没关系。