delete everything in /tmp/web3py and restart it. This folder should really
be created in the cwd not in /tmp/ I will change it.
On Monday, 20 May 2019 07:17:14 UTC-7, En Ware wrote:
>
> Getting error missing table , sqlite3.OperationalError: no such table:
> web3py_error
>
> _dashboard won't load at all.
>
> On Wednesday, May 15, 2019 at 9:51:40 AM UTC-5, En Ware wrote:
>>
>> Thank you very much for the explanation , it really helps.
>>
>> On Wednesday, May 15, 2019 at 12:23:47 AM UTC-5, Massimo Di Pierro wrote:
>>>
>>> web2py uses:
>>>
>>> (all defined in web3py/core.py)
>>> [100% done] pydal for DB
>>> [100%] pluralize for T
>>> [100%] yatl for template and helpers
>>> [100%] tornado as default web server (when no --number_workers)
>>> [100%] gevent + gunicorn when --number_workers is specified
>>> [100%] bottle for routing, request, response, abort, and redirect (but
>>> has its own decorator instead the bottle one)
>>> [100%] has its own new session object (support cookies, db, memcache,
>>> redis, and user defined)
>>> [100%] has its own O(1) least recently used cache/memoize function (used
>>> for example to cache templates in ram)
>>> [100%] web3py/form.py replaces SQLFORM
>>>
>>> [75%] "_dashboard" instead of "admin" (same purpose)
>>> [75%] "_dashboard dbadmin" instad of appadmin (same purpose)
>>> [75%] "_scaffold" instead of welcome (same purpose)
>>> [75%] applications/_dashboard/components/mtable.* replaces
>>> SQLFORM.smartgrid
>>> [50%] applications/_scaffold/components/auth.* + web3py/utils/auth.py
>>> replace Auth + user.html
>>>
>>> It uses the concept of "Fixtures" which are like bottle plugins but can
>>> have dependencies. DAL, Session, T, templates are fixtures.
>>>
>>> For every action they must be declared as in:
>>>
>>> @action('index', method=['GET','POST'])
>>> @action.uses('my-template.html', mysession, T , mydb)
>>> def index():
>>> return dict()
>>>
>>> It is important to declare them to avoid a shortcoming of web2py and
>>> other frameworks, to avoid doing work when it is not necessary. So if an
>>> action does not need session, there is no need to even try parse cookies,
>>> hence you do not declare the fixture.
>>>
>>> You can define aliases:
>>>
>>> myaction = action.uses('my-template.html', mysession, T , mydb)
>>>
>>> and then do
>>>
>>> @action('index', method=['GET','POST'])
>>> @myaction
>>> def index():
>>> return dict()
>>>
>>> Unlike web2py the models.py, controllers.py and all the other files are
>>> just regular files. You can call them what you like, and they are imported,
>>> not executed. This means web3py is much faster and also you can use pylint
>>> and code completion without tweaks. No custom_importer that can cause weird
>>> behavior. This also means there will be some nu-expected behavior for
>>> web2py users and needs to be documented. Every module in the applications
>>> folder is an app. Apps does not need to expose any action, they can just be
>>> a collection of modules, or static files, or templates.
>>>
>>> _dashboard and _scaffold use vue.js and the grid (mtable) and auth are
>>> vue component but you can use them even if the rest of your app does not
>>> use vue. Components have their own html templates in vue and they can
>>> easily be customized for different CSS. This requires a much longer
>>> explanation and I will write it when it is finalized.
>>>
>>> We ditched the web2py Storage object. People like it but the profiler
>>> showed Storage.__getitem__ is the single most called function in web2py and
>>> causes loss in performance. In web3py we stick to regular python dict
>>> objects.
>>>
>>> This is work in progress so things will change.
>>>
>>> Massimo
>>>
>>>
>>>
>>>
>>> On Tuesday, 14 May 2019 08:42:16 UTC-7, En Ware wrote:
>>>>
>>>> So I'm trying to figure out web3py libs and how everything works
>>>> together. Web3py uses bottle for request, routes, and response. Web3py
>>>> uses
>>>> DAL or PyDAL for database abstraction.
>>>>
>>>> Is this still valid for Storage class ?
>>>> https://web2py.readthedocs.io/en/latest/_modules/gluon/storage.html ,
>>>> I was looking up information on how "dict" was formed.
>>>>
>>>> On Tuesday, May 14, 2019 at 9:20:00 AM UTC-5, En Ware wrote:
>>>>>
>>>>> The editing is very fast and reloads on the fly. This is pretty
>>>>> impressive.
>>>>>
>>>>> On Tuesday, May 14, 2019 at 9:05:58 AM UTC-5, En Ware wrote:
>>>>>>
>>>>>> Ok very good, I created the directories and launched again and i can
>>>>>> get to the _dashboard instance, thanks
>>>>>>
>>>>>> On Tuesday, May 14, 2019 at 8:58:44 AM UTC-5, 黄祥 wrote:
>>>>>>>
>>>>>>> pls try:
>>>>>>> *need an extra steps to make web3py start in latest commit (101)*
>>>>>>> git clone https://github.com/web2py/web3py
>>>>>>> cd web3py
>>>>>>> pip3 install -r requirements.txt
>>>>>>> mkdir applications/_dashboard/translations
>>>>>>> mkdir applications/_scaffold/databases
>>>>>>> mkdir applications/toys/databases
>>>>>>> ./web3py-start applications/
>>>>>>>
>>>>>>> directory creation to eliminate the error produced on console when
>>>>>>> execute web3py-start
>>>>>>>
>>>>>>> best regards,
>>>>>>> stifan
>>>>>>>
>>>>>>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/71505f71-2ae9-4357-9c1c-24e0df143952%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.