mirror of
https://github.com/wassname/pyramid_formalchemy.git
synced 2026-06-27 16:10:40 +08:00
Improve template
This commit is contained in:
@@ -24,6 +24,7 @@ eggs =
|
||||
lingua
|
||||
scripts=
|
||||
nosetests=tests
|
||||
pcreate=pcreate
|
||||
interpreter = python
|
||||
|
||||
[test]
|
||||
|
||||
@@ -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')
|
||||
|
||||
+6
-1
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user