Version 5 (modified by cmlenz, 16 years ago) (diff) |
---|
Development Server
Diva comes with a couple of simple shortcuts for running your application using the WSGIServer from the Python standalone library.
Assuming you have an Application subclass (see ApplicationObject), for example:
>>> from diva.core import Application >>> class MyApp(Application): ... pass
You can then run that application using the development server as follows, directly from the Python shell:
>>> import logging >>> from diva.server import serve >>> serve(MyApp(), log_level=logging.DEBUG) [INFO] diva.server: Serving <__main__.MyApp object at 0x10f63f0> on 127.0.0.1:8080
Command-Line Interface
It's also simple to enable your application to be run from the command-line, as shown in the following script:
import os from diva.core import Application from diva.server import main class MyApp(Application): pass if __name__ == '__main__': main(app)
Now running that script will automatically launch a simple command-line interface complete with options:
$ python myapp.py --help Usage: myapp.py [options] Options: -h, --help show this help message and exit -O name=value set a configuration option -b HOST, --host=HOST hostname or IP address to bind to (default 127.0.0.1) -p PORT, --port=PORT port number to listen to (default 8080) -r, --auto-reload automatically restart after code changes (default off) -v, --verbose print as much as possible -q, --quiet print as little as possible
You can use the -O option to set one or more configuration options, overriding any defaults set by the application. For example:
$ python myapp.py -Odebug=false -Ocsrf_protection=false
See ConfigOptions for a list of options made available by the framework, in addition to any custom options your application may support.
Automatic Reloading
When the command-line interface is used, automatic restarting of the server can be enabled using the --auto-reload (or -r) option. This will cause the framework to look for changes to any loaded Python modules, as well as a couple of other files such as routing configuration files and translation catalogs. Whenever a change is detected the complete server process is restarted. Note that this will sometimes cause a short delay until the server is available again.
Applications can add their own files to the list of watched files using the watch_file() function.
API Documentation
Attachments (1)
-
zeroconf.png
(10.8 KB) -
added by cmlenz 16 years ago.
Bonjour screenshot
Download all attachments as: .zip