Improve template

This commit is contained in:
Gael Pasgrimaud
2011-12-26 16:47:13 +01:00
parent af6478fad3
commit b3d63be6db
5 changed files with 60 additions and 32 deletions
+1
View File
@@ -24,6 +24,7 @@ eggs =
lingua
scripts=
nosetests=tests
pcreate=pcreate
interpreter = python
[test]
+1
View File
@@ -74,6 +74,7 @@ def formalchemy_admin(config, route_name,
models = config.maybe_dotted(models)
if forms:
forms = config.maybe_dotted(forms)
if session_factory:
session_factory = config.maybe_dotted(session_factory)
@@ -1,21 +1,46 @@
from {{package}} import models, faforms
import logging
log = logging.getLogger(__name__)
def includeme(config):
config.include('pyramid_formalchemy')
# Adding the jquery libraries
config.include('fa.jquery')
try:
# Add fanstatic tween if available
config.include('pyramid_fanstatic')
except ImportError:
log.warn('You should install pyramid_fanstatic or register a fanstatic'
' middleware by hand')
try:
# Adding the jquery libraries if available
config.include('fa.jquery')
except ImportError:
model_view = 'pyramid_formalchemy.views.ModelView'
else:
model_view = 'fa.jquery.pyramid.ModelView'
session_factory = getattr(models, "DBSession", None)
if session_factory is not None:
# pyramid_alchemy
session_factory = '{{package}}.models.DBSession'
else:
# Akhet
session_factory = '{{package}}.models.Session'
# register session and model_view for later use
settings = {'package': '{{package}}',
'view': model_view,
'session_factory': session_factory,
}
config.registry.settings['{{package}}.fa_config'] = settings
config.formalchemy_admin("/admin", models=models, forms=faforms,
**settings)
# Adding the package specific routes
config.include('{{package}}.faroutes')
try:
# pyramid_alchemy
session_factory = models.DBSession
except AttributeError:
# akhet
session_factory = models.Session
config.formalchemy_admin("/admin",
models=models,
forms=faforms,
session_factory=session_factory,
view="fa.jquery.pyramid.ModelView")
log.info('formalchemy_admin registered at /admin')
@@ -1,19 +1,15 @@
from {{package}} import models
def includeme(config):
try:
# pyramid_alchemy
session_factory = models.DBSession
except AttributeError:
# akhet
session_factory = models.Session
import logging
try:
# Example for pyramid_routesalchemy and akhet
from {{package}}.models import MyModel
config.formalchemy_model("/my_model", package='{{package}}',
model='{{package}}.models.MyModel',
session_factory=session_factory,
view='fa.jquery.pyramid.ModelView')
except ImportError:
pass
log = logging.getLogger(__name__)
def includeme(config):
settings = config.registry.settings.get('{{package}}.fa_settings}}', {})
# Example to add a specific model
#config.formalchemy_model("/my_model", package='{{package}}',
# model='{{package}}.models.MyModel')
# **settings)
log.info('{{package}}.faroutes loaded')
@@ -1,9 +1,12 @@
This script does not want to tell you how your app should be set up.
As such, it does not set an app up for you.
Please use this template together with other templates, like akhet,
Please use this template together with other templates, like Akhet,
pyramid_routesalchemy or pyramid_alchemy.
You should add pyramid_fanstatic and fa.jquery as dependencies in your
setup.py.
To finally include FormAlchemy, modify your main method were you
create the wsgi application, and include {{package}}.fainit to the
configuration, like that:
@@ -21,3 +24,5 @@ If you are using akhet, nothing special needs to be done.
After this modifications, you should find the FormAlchemy Admin
Interface under /admin