Django表2不包括';行不通
我将Django 1.8.7与Django表21.3.0一起使用。 我正在尝试使用ModelForm构建一个表(下面的示例)。当我尝试使用exclude隐藏列时,它仍然显示所有列。排除在这里似乎没有任何效果 my models.py的一部分:Django表2不包括';行不通,django,Django,我将Django 1.8.7与Django表21.3.0一起使用。 我正在尝试使用ModelForm构建一个表(下面的示例)。当我尝试使用exclude隐藏列时,它仍然显示所有列。排除在这里似乎没有任何效果 my models.py的一部分: class Event(models.Model): Name = models.CharField (max_length = 45, blank = False, null = False) Date = models.DateTime
class Event(models.Model):
Name = models.CharField (max_length = 45, blank = False, null = False)
Date = models.DateTimeField (auto_now_add=True)
Text = models.CharField (max_length = 64, blank = False, null = False)
class Meta:
ordering = ["-Date", "Name"]
verbose_name = "Event"
verbose_name_plural = "Events"
def __str__(self):
return self.Name
class Event_Form(ModelForm):
class Meta:
model=Event
exclude = ('Date',)
my views.py的一部分:
def dbtest_event(request,):
return render(request, 'dbtest_event.html', {"Title":"Events",
'dbtest_event':Event.objects.all()})
以及使用该表的html文件:
{% extends "dbtest.html" %}
{% load render_table from django_tables2 %}
{% load static %}
{% block content %}
{% render_table dbtest_event %}
{% endblock %}
提前感谢您的任何帮助或想法 您的视图代码实际上没有引用
事件表单
类,因此没有理由关注您的排除
从文档中:
虽然简单,但直接将查询集传递给{%render_table%}不允许任何自定义。为此,必须定义一个自定义表类
因此,必须显式定义表
class EventTable(django_tables2.Table):
class Meta:
model = Event
exclude = ('Date',)
然后确保表在模板上下文中可用
def dbtest_event(request,):
table = EventTable(Events.objects.all())
RequestConfig(request).configure(table)
return render(request, 'dbtest_event.html', {
"Title":"Events",
'dbtest_event_table': table,
})
(如果不需要基于GET参数进行分页或筛选,则可以省略RequestConfig
行。)
最后使用
{%render\u table dbtest\u event\u table%}
您的视图代码实际上没有引用事件表单
类,因此没有理由关注您的排除
从文档中:
虽然简单,但直接将查询集传递给{%render_table%}不允许任何自定义。为此,必须定义一个自定义表类
因此,必须显式定义表
class EventTable(django_tables2.Table):
class Meta:
model = Event
exclude = ('Date',)
然后确保表在模板上下文中可用
def dbtest_event(request,):
table = EventTable(Events.objects.all())
RequestConfig(request).configure(table)
return render(request, 'dbtest_event.html', {
"Title":"Events",
'dbtest_event_table': table,
})
(如果不需要基于GET参数进行分页或筛选,则可以省略RequestConfig
行。)
最后使用
{%render\u table dbtest\u event\u table%}
我不明白为什么模型表单元中的排除值会自动转换为表的元。你能把代码贴在定义表格的地方吗?i、 e.对django_tables进行子类化的东西2.Table?据我所知,这个表并不是真正创建的。我将用我的views.py的一部分和html文件来更新这个问题,这就是我认为与表有关的所有内容。您只是在使用{%render\u table%}
标记吗?是的,我只是用它在html文件中创建表,我不明白为什么ModelForm元中的排除值会自动转换为表的元。你能把代码贴在定义表格的地方吗?i、 e.对django_tables进行子类化的东西2.Table?据我所知,这个表并不是真正创建的。我将用我的views.py的一部分和html文件更新这个问题,我认为这就是与表有关的一切。你只是在使用{%render\u table%}
标记吗?是的,我只是用它在html文件中创建表。谢谢,这对我很有用。我还有最后一个问题:是否可以用ID而不是日期来做这件事?我试过你的方法,但没用。我想这是因为数据库定义的属性不是我。您是否使用了小写形式的id
(它在表标题中显示为'id',但Python中的属性名称是id
)?就是这样,现在它可以正常工作了。谢谢你的帮助!谢谢你,这对我有用。我还有最后一个问题:是否可以用ID而不是日期来做这件事?我试过你的方法,但没用。我想这是因为数据库定义的属性不是我。您是否使用了小写形式的id
(它在表标题中显示为'id',但Python中的属性名称是id
)?就是这样,现在它可以正常工作了。谢谢你的帮助!