【问题标题】:Django-Tables column templates with django permissions具有 Django 权限的 Django-Tables 列模板
【发布时间】:2015-04-21 20:31:57
【问题描述】:

所以,我正在使用 Django-Tables 来生成我的项目数据表,但现在我面临一个新问题。

我有这个表类来生成我的模型数据表,使用 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 模板。

关于如何将这些烫发处理到这种模板中的任何提示?我有点失落。

提前致谢!

【问题讨论】:

    标签: python django templates permissions django-tables2


    【解决方案1】:

    所以,它不仅仅是这个问题的“完美答案”,而是我设法解决这个问题的方法:

    我没有在模板 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 列模板的问题仍然存在。

    顺便说一句,最终结果对我来说是一样的,所以没关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-18
      • 2021-02-10
      • 2012-03-17
      • 1970-01-01
      • 2017-06-11
      • 2019-09-15
      • 2017-09-10
      • 2014-05-23
      相关资源
      最近更新 更多