import logging from pylons import request, response, session, tmpl_context as c from pylons.controllers.util import abort, redirect_to from pylonsapp.lib.base import BaseController, render from pylonsapp.model import meta from pylonsapp import model from pylonsapp.forms import FieldSet log = logging.getLogger(__name__) Foo = FieldSet(model.Foo) Foo.configure(options=[Foo.bar.label('This is the bar field')]) class BasicController(BaseController): def index(self, id=None): if id: record = meta.Session.query(model.Foo).filter_by(id=id).first() else: record = model.Foo() assert record is not None, repr(id) c.fs = Foo.bind(record, data=request.POST or None) if request.POST and c.fs.validate(): c.fs.sync() if id: meta.Session.update(record) else: meta.Session.add(record) meta.Session.commit() redirect_to(id=record.id) return render('/form.mako')
# -*- coding: utf-8 -*- from pylons import config from pylonsapp import model from pylonsapp.forms import FieldSet from formalchemy.ext.fsblob import FileFieldRenderer # get the storage path from configuration FileFieldRenderer.storage_path = config["app_conf"]["storage_path"] Files = FieldSet(model.Files) Files.configure(options=[Files.path.with_renderer(FileFieldRenderer)])
# -*- coding: utf-8 -*- from pylons import config from pylonsapp import model from pylonsapp.forms import FieldSet from formalchemy.ext.fsblob import FileFieldRenderer Files = FieldSet(model.Files) Files.configure(options=[ Files.path.with_renderer( FileFieldRenderer.new(storage_path=config['app_conf']['storage_path'], url_prefix='/')) ])
# -*- coding: utf-8 -*- from pylons import config from pylonsapp import model from pylonsapp.forms import FieldSet from formalchemy.ext.fsblob import FileFieldRenderer Files = FieldSet(model.Files) Files.configure(options=[Files.path.with_renderer( FileFieldRenderer.new( storage_path=config['app_conf']['storage_path'], url_prefix='/'))])
import logging from pylons import request, response, session, url, tmpl_context as c from pylons.controllers.util import abort, redirect from pylonsapp.lib.base import BaseController, render from pylonsapp.model import meta from pylonsapp import model from pylonsapp.forms import FieldSet log = logging.getLogger(__name__) Foo = FieldSet(model.Foo) Foo.configure(options=[Foo.bar.label('This is the bar field')]) class BasicController(BaseController): def index(self, id=None): if id: record = meta.Session.query(model.Foo).filter_by(id=id).first() else: record = model.Foo() assert record is not None, repr(id) c.fs = Foo.bind(record, data=request.POST or None) if request.POST and c.fs.validate(): c.fs.sync() if id: meta.Session.update(record) else: meta.Session.add(record) meta.Session.commit() redirect(url.current(id=record.id)) return render('/form.mako')