Thanks for your comments. The "TypeError: sequence item 0: expected str instance, int found" was a yatl bug. It is fixed. The latest py4web requires yatl 20191224 which includes the fix.
On Tuesday, 17 December 2019 21:09:16 UTC+1, Kevin Keller wrote: > > Hey, > > I tried py4web from github today on ubuntu 18.04 python 3.6.9. > > Using the app scaffold creating a new app: works good > > adding new fields in models, works ok: sometimes I get the error "table > persons already exists". I only have that table persons. I need to restart. > > Using Py4Web to create an create and update form works good. (Please keep > the form/sqlform replacement around. Its great for protoyping and throw > away apps. *Being able to use Py4Web for prototype, trow away apps plus > serious projects from one framework is great.* > I usually replace the SQLFORM forms after protoyping with proper forms) I > really love the form generator for CRUD. > I tested django-admlte2 and flask-appbuilder today for prototyping in case > Py4Web deprecates SQLFORM, but noting is as good and quick as what you have > done Massimo. > > When I add the auth.user to the form the auth request ist not picked up.. > I need to restart. > After the restart the get prompted to login or sign up. > So I sign up. > Desperately tried to disable email validation until I found the link in > the console to validate a user. After I removing a superflous "/" in the > URL in the console registration worked. > After logging in PY4Web crashes however: > > > ERROR:root:Traceback (most recent call last): > File "/home/ubuntu/Development/Python/DiPierro/py4web/py4web/core.py", > line 473, in wrapper > ret = func(*func_args, **func_kwargs) > File "/home/ubuntu/Development/Python/DiPierro/py4web/py4web/core.py", > line 441, in wrapper > ret = obj.transform(ret) > File "/home/ubuntu/Development/Python/DiPierro/py4web/py4web/core.py", > line 253, in transform > delimiters=self.delimiters, reader=Template.reader) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/template.py", > > line 968, in render > exec(code, context) > File "<string>", line 23, in <module> > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/template.py", > > line 831, in write > data = data.xml() > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in <genexpr> > for s in self.children) > File > "/home/ubuntu/.local/share/virtualenvs/py4web-hAK7z7VI/lib/python3.6/site-packages/yatl/helpers.py", > > line 52, in xml > for s in self.children) > TypeError: sequence item 0: expected str instance, int found > > My code: > > Models: > > """ > This file defines the database models > """ > > from . common import db, Field > from pydal.validators import * > > ### Define your table below > # > # db.define_table('thing', Field('name')) > # > ## always commit your models to avoid problems later > # > # db.commit() > # > > > db.define_table( > 'person', > Field('name', requires=IS_NOT_IN_DB(db, 'person.name')), > Field('job', requires=IS_NOT_EMPTY())) > > db.commit() > > Controllers: > > from py4web import action, request, abort, redirect, URL > from yatl.helpers import A > from . common import db, session, T, cache, auth, logger > > @action('index', method='GET') > @action.uses('generic.html', session, db, T, auth.user) > def index(): > user = auth.get_user() > message = T('Hello {first_name}'.format(**user)) > return dict(message=message, user=user) > > @action('create_form', method=['GET','POST']) > @action('update_form/<id>', method=['GET','POST']) > @action.uses('generic.html', session, db, T, auth.user) > def example_form(id=None): > form = Form(db.person, id, deletable=False, formstyle=FormStyleBulma) > rows = db(db.person).select() > return dict(form=form, rows=rows) > > > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/bc1701d9-f03c-461a-9f40-8fced867715a%40googlegroups.com.