Redesign1 #1
5 changed files with 23 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -10,4 +10,4 @@ inventory/static/uploads/*
|
||||||
alembic.ini
|
alembic.ini
|
||||||
alembic/
|
alembic/
|
||||||
*.egg-info/
|
*.egg-info/
|
||||||
test-app/
|
test_app/
|
||||||
|
|
@ -27,3 +27,5 @@ def generate_crud_blueprint(model, service):
|
||||||
def delete_item(id):
|
def delete_item(id):
|
||||||
service.delete(id)
|
service.delete(id)
|
||||||
return '', 204
|
return '', 204
|
||||||
|
|
||||||
|
return bp
|
||||||
|
|
|
||||||
|
|
@ -11,3 +11,16 @@ def render_field(field_name, value):
|
||||||
def render_table(objects):
|
def render_table(objects):
|
||||||
template = env.get_template('table.html')
|
template = env.get_template('table.html')
|
||||||
return template.render(objects=objects)
|
return template.render(objects=objects)
|
||||||
|
|
||||||
|
def render_form(model_cls, values):
|
||||||
|
template = env.get_template('form.html')
|
||||||
|
fields = []
|
||||||
|
for col in model_cls.__table__.columns:
|
||||||
|
if col.name == 'id':
|
||||||
|
continue
|
||||||
|
if col.default or col.server_default or col.onupdate:
|
||||||
|
continue
|
||||||
|
if col.name in ('created_at', 'updated_at'):
|
||||||
|
continue
|
||||||
|
fields.append(col)
|
||||||
|
return template.render(fields=fields, values=values, render_field=render_field)
|
||||||
|
|
|
||||||
6
crudkit/ui/templates/form.html
Normal file
6
crudkit/ui/templates/form.html
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<form method="POST">
|
||||||
|
{% for field in fields %}
|
||||||
|
{{ render_field(field.name, values.get(field.name, '')) }}
|
||||||
|
{% endfor %}
|
||||||
|
<button type="submit">Create</button>
|
||||||
|
</form>
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
{% for field in objects[0].__table__.columns %}<th>{{ field.name }}</th>{% endfor %}
|
{% for field in objects[0].__table__.columns %}<th>{{ field.name }}</th>{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
{% for obj in objects %}
|
{% for obj in objects %}
|
||||||
<tr>{% for field in obj.__table__columns %}<td>{{ getattr(obj, field.name) }}</td>{% endfor %}</tr>
|
<tr>{% for field in obj.__table__.columns %}<td>{{ obj[field.name] }}</td>{% endfor %}</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue