Used a very basic testing app to find and fix some bugs.
This commit is contained in:
parent
42e9710f48
commit
40e727f5bf
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/
|
||||
*.egg-info/
|
||||
test-app/
|
||||
test_app/
|
||||
|
|
@ -27,3 +27,5 @@ def generate_crud_blueprint(model, service):
|
|||
def delete_item(id):
|
||||
service.delete(id)
|
||||
return '', 204
|
||||
|
||||
return bp
|
||||
|
|
|
|||
|
|
@ -11,3 +11,16 @@ def render_field(field_name, value):
|
|||
def render_table(objects):
|
||||
template = env.get_template('table.html')
|
||||
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 %}
|
||||
</tr>
|
||||
{% 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 %}
|
||||
</table>
|
||||
Loading…
Add table
Add a link
Reference in a new issue