我想使用相同的单元格添加多个"项目" tables.LinkColumn.
像这样的东西:
column_name = tables.LinkColumn('some_url_edit', args=[A('pk')], attrs={'class':'tbl_icon edit'})
column_name += tables.LinkColumn('some_url_del', args=[A('pk')], attrs={'class':'tbl_icon delete'})
column_name += ...
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?或者我应该创建自己的表视图,没有django-tables.
谢谢!
无法为django-tables2表进行排序工作.
class MyModel(models.Model):
pid = models.AutoField('id',primary_key = True)
name = models.CharField(max_length = 255,
help_text='The name')
def show_mymodels(request):
""" the view """
table = MyModelTable(MyModel.objects.all())
return render(request,'mymodel.html',{'table':table})
class MyModelTable(tables.Table):
class Meta:
model = MyModel
orderable = True
Run Code Online (Sandbox Code Playgroud)
而mymodel.html看起来如下:
{% load render_table from django_tables2 %}
{% render_table table %}
Run Code Online (Sandbox Code Playgroud)
这会使表格正确,但在浏览器中单击列时没有任何反应.其他然后urld改变http://127.0.0.1:8000/show_mymodel- >http://127.0.0.1:8000/show_mymodel?sort=name
我做错了什么?
我在视图中有一个表不能渲染css.我想这是一个愚蠢的错误,但我在路上找不到任何解决方案:(
风景 :
class ContactsTable(tables.Table):
selection = tables.CheckBoxColumn(accessor="id")
class Meta:
model = Contact
exclude = ("id", "civilite", "ad1", "ad2", "cp")
sequence =("selection", "nom", "prenom", "comments", "telport", "telfixe", "email", "ville", "regime")
def ListContacts(request):
table = ContactsTable(Contact.objects.all())
RequestConfig(request).configure(table)
return render(request, "contacts/contact_list.html", {'table': table})
Run Code Online (Sandbox Code Playgroud)
模板:
{% load render_table from django_tables2 %}
<html>
<head>
<link rel="stylesheet" href="{{ STATIC_URL }}django_tables2/themes/paleblue/css/screen.css" />
</head>
<body>
{% render_table table %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
对不起,我的英语和noobie问题很糟糕.
我当前正在使用django-tables2显示我的模型的查询集。该模型的属性之一是精确到毫秒的DateTimeField,该时间被截断到表中的分钟。
我以前用HTML手动实现了一个简单的表,没有任何问题。我的DateTimeFields遵循我的设置中应用的DATETIME_FORMAT:
settings.py
DATETIME_FORMAT = 'Y N j, H:i:s.u'
Run Code Online (Sandbox Code Playgroud)
自从我开始使用django-tables2以来,就出现了问题。有什么方法可以修改其显示DateTimeFields的方式或使其遵循我指定的DATETIME_FORMAT?我需要保留排序功能,因此无法转换为字符串。
我正在使用render_table显示我的表。以下是我的表类:
class ModelTable(tables.Table):
class Meta:
model = Measurement
sequence = ('date_time', 'latitude', 'longitude',
'depth', 'soundvel', 'instrument')
Run Code Online (Sandbox Code Playgroud) 我正在试验 django-tables2。我创建了一个测试站点,显示一列日期(创建者timezone.now())。默认情况下,日期顺序为最旧-> 最新。如果我单击列标题,日期会以相反的顺序显示(所需的默认行为)。
我玩过这个order_by论点,但我做错了什么。我的tables.py:
class OrderTable(tables.Table):
order_date = tables.Column(order_by=("Order Date",))
Run Code Online (Sandbox Code Playgroud)
我的意见.py:
def index(request):
table = OrderTable(Order.objects.all())
RequestConfig(request, paginate={"per_page": 10}).configure(table)
return render(request, 'orders_app/index.html', {'table': table})
Run Code Online (Sandbox Code Playgroud)
如何订购“订购日期”列,使其显示为最新->最旧?
所以我有一个基本的 ItemTable,然后是从它继承的许多表。我似乎无法修改 Meta 类。我尝试正常地包含元类,但它不起作用,然后我找到了这个错误报告并在下面实现了它。它会默默地失败:表仅使用父元类中的列进行渲染。
class ItemTable(tables.Table):
class Meta:
model = Item
attrs = {"class":"paleblue"}
fields = ('name', 'primary_tech', 'primary_biz', 'backup_tech', 'backup_biz')
class ApplicationTable(ItemTable):
def __init__(self, *args, **kwargs):
super(ApplicationTable, self).__init__(*args, **kwargs)
class Meta(ItemTable.Meta):
model = Application
fields += ('jira_bucket_name',)
Run Code Online (Sandbox Code Playgroud)
编辑:代码修改如下所示。我现在得到一个fields未定义的 NameError 。
我有一个 table.py,我想在其中更改每个 BooleanColumn 的 True 和 False 值的图标。我知道它可以通过 BooleanColumn 的 yesno 参数进行修改,但我不知道如何覆盖所有 BooleanColumns 的默认值。这是tables.py的代码(aacsb、amba、equis、mba、bsc、msc和doubedegree是BooleanFields):
from django_tables2 import Column, Table
from manager.models import Partner
class PartnerTable(Table):
country_name = Column(accessor='country.name', verbose_name='Country')
region_name = Column(accessor='country.region.name', verbose_name='Region')
class Meta:
model = Partner
fields = ('name',
'country_name',
'region_name',
'website',
'aacsb',
'amba',
'equis',
'mba',
'bsc',
'msc',
'doubledegree',
)
Run Code Online (Sandbox Code Playgroud) 我正在使用 djnago-tables2 来显示我的事件模型中的数据。我需要将当前请求的用户放入表的render方法中(进一步调用一个模型函数来获取当前用户的响应)。
我怎样才能做到这一点?
我的模特
class Event(models.Model):
name=models.CharField(max_length=254)
start=models.DateTimeField()
end=models.DateTimeField()
invited_user=models.ManyToManyField(User,blank=True)
def getResponseFromUser(self, user):
try:
return Response.objects.filter(event=self, user=user).order_by('-pk')[0]
except Exception:
return None
class Response(models.Model):
user=models.ForeignKey(User)
event=models.ForeignKey(Event)
timestamp=models.DateTimeField(auto_now_add=True)
SEEN=0
YES=1
PROBABLY_YES=2
PROBABLY_NO=3
NO=4
RESPONSE=(
(SEEN, _('seen but undecided')),
(YES, _('Yes')),
(PROBABLY_YES, _('probably yes')),
(PROBABLY_NO, _('probably no')),
(NO, _('No')),
)
response=models.IntegerField( choices=RESPONSE, default=SEEN)
@property
def getResponseText(self):
return self.RESPONSE[self.response][1]
Run Code Online (Sandbox Code Playgroud)
桌子
class EventTable(tables.Table):
requestUser=None # to be set from request (externally)
eventResponse = tables.Column(empty_values=(), verbose_name="Response", orderable=False)
class Meta:
model = Event
# add class="paleblue" …Run Code Online (Sandbox Code Playgroud) 当我同时使用 django-admin-tools(0.8.0) 和 django-tables2(1.5) 时,尝试通过 Django(1.10.4) 中的 xhtml2pdf 渲染 PDF 时遇到问题。我已经做了足够的阅读来了解正在发生的事情的基础,但不知道如何解决它。我认为这与 django-admin-tools 自定义加载器有关。
链接到我从 django-tables 获得的异常。
这个问题让我提出了一个问题。
我想做的要点是通过 django-admin 界面中 AdminModel 的下拉框创建一个自定义管理“操作”,将给定的查询集转换为 PDF 文档。
根据 django-tables2文档, render() 函数需要 3 个参数(request, 'template_name.html', {'people': Person.objects.all()})。因此,我向 context_dict 添加了一个查询集,并尝试在下面模板的 for 循环中使用它,但没有骰子。该模板在没有 django-tables2 的情况下将 html 渲染为 pdf 就很好,但是如果我尝试将表格转换为 PDF,我会得到以下内容...
Environment:
Request Method: POST
Request URL: http://127.0.0.1:9999/admin/research/labsample/
Django Version: 1.10.4
Python Version: 3.5.2
Installed Applications:
('admin_tools',
'admin_tools.theming',
'admin_tools.menu',
'admin_tools.dashboard',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_tables2',
'import_export',
'chemicals',
'suppliers',
'customers', …Run Code Online (Sandbox Code Playgroud) 我使用django-tables2来显示一些数据.我有一列浮点数,并希望它们只显示两位小数(因此,10.238324将显示为10.24).有一个简单的方法吗?在Django模板中,我这样做{{number||floatformat:2}}.
可能相关的文档:
http://django-tables2.readthedocs.io/en/latest/pages/column-attributes.html.