Comments (1)
A quick solution (not perfect at all) is to make a custom Column. The column get the data for the actions from a method in the object class.
First the table definition :
class ConsumableTable(tables.Table):
actions = ActionsColumn(accessor="get_actions", verbose_name="Actions")
Then the Column definition
class ActionsColumn(tables.Column):
def __init__(self, *args, **kargs):
super().__init__(*args, **kargs)
self.orderable = False
def render(self, value):
result = '<div class="d-flex flex-row justify-content-evenly">'
for k, v in value.items():
match k:
case "detail":
result += f'<a href="{v}"><i class="bi bi-eye"></i></a>'
case "edit":
result += f'<a href="{v}"><i class="bi bi-pencil"></i></a>'
case "delete":
# delete is the only action to have a list in value.
result += f'<a href="#" class="btn-delete-{v[0]}" data-form-url="{v[1].get_delete_url()}" data-id="{v[1].id}" data-extra="{v[1]}"><i class="bi bi-trash"></i></a>'
return format_html(result + "</div>")
And the data provider for the column
def get_actions(self):
return {
"detail": self.get_absolute_url(),
"edit": self.get_edit_url(),
"delete": ["consumable", self]
}
from django-tables2.
Related Issues (20)
- Duplicate on Record sometimes switch column detail HOT 1
- Add the ability to swap the underlying exporter
- SingleTableView table_data attribute not same as get_query over write
- Custom column attribute change default datetime formar HOT 2
- Missing type hints HOT 1
- Cannot set delimiter on CSV export HOT 2
- Building the docs at readthedocs still fails HOT 2
- Is it possible to add attributes to the links in the th? HOT 6
- Duplicate count() on class based views.
- Disable User-sortable Columns HOT 1
- request object in render_FOO methods moved?
- 500 error by adding negative per_page query to a model based table
- SQL queries are duplicated when mixing in with MultipleObjectMixin-based views e.g. django-filter
- render() should have *args, **kwargs as param HOT 2
- feature: example for checkbox selection and a submit action (e.g) adding to a basket/chart HOT 2
- search is down on docs HOT 3
- Feature request: Make TemplateColumn more dynamic HOT 2
- pagination with elasticsearch-dsl HOT 1
- Feature Request: Allow args/kwargs to be passed to a callable with an Accessor HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-tables2.