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 web2py+unsubscr...@googlegroups.com.
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.

Reply via email to