Hi Wyatt!
Here is the traceback:
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_debugtoolbar-1.0.9-py2.7.egg/pyramid_debugtoolbar/panels/performance.py",
line *55*, in resource_timer_handler
result = handler(request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/tweens.py",
line *21*, in excview_tween
response = handler(request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_tm-0.7-py2.7.egg/pyramid_tm/__init__.py",
line *82*, in tm_tween
reraise(*exc_info)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_tm-0.7-py2.7.egg/pyramid_tm/__init__.py",
line *63*, in tm_tween
response = handler(request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/router.py",
line *163*, in handle_request
response = view_callable(context, request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/config/views.py",
line *377*, in rendered_view
context)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/renderers.py",
line *416*, in render_view
return self.render_to_response(response, system, request=request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/renderers.py",
line *439*, in render_to_response
result = self.render(value, system_values, request=request)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid-1.5a4-py2.7.egg/pyramid/renderers.py",
line *435*, in render
result = renderer(value, system_values)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_chameleon-0.1-py2.7.egg/pyramid_chameleon/zpt.py",
line *47*, in __call__
result = self.template(**system)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/Chameleon-2.14-py2.7.egg/chameleon/template.py",
line *123*, in __call__
return self.render(**kwargs)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/Chameleon-2.14-py2.7.egg/chameleon/zpt/template.py",
line *258*, in render
- return super(PageTemplate, self).render(**vars)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/Chameleon-2.14-py2.7.egg/chameleon/template.py",
line *188*, in render
raise_with_traceback(exc, tb)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/Chameleon-2.14-py2.7.egg/chameleon/template.py",
line *170*, in render
self._render(stream, econtext, rcontext)
- File "tree_add_421f2a7b398ddf28906676effb87174d.py", line *361*, in
render
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/Chameleon-2.14-py2.7.egg/chameleon/zpt/template.py",
line *262*, in include
self._render(*args, **kwargs)
- File "global_template_6695f01374a8133b50c41273f2d48125.py", line *635*,
in render
- File "global_template_6695f01374a8133b50c41273f2d48125.py", line *255*,
in render_layout
- File "tree_add_421f2a7b398ddf28906676effb87174d.py", line *168*, in
__fill_content
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_simpleform-0.6.1-py2.7.egg/pyramid_simpleform/renderers.py",
line *168*, in errorlist
errors = self.errors_for(name)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_simpleform-0.6.1-py2.7.egg/pyramid_simpleform/renderers.py",
line *147*, in errors_for
return self.form.errors_for(name)
- File
"/home/tg/mysite/env/lib/python2.7/site-packages/pyramid_simpleform-0.6.1-py2.7.egg/pyramid_simpleform/__init__.py",
line *128*, in errors_for
errors = self.errors.get(field, [])
Thanks!
Tom
On Saturday, February 1, 2014 11:13:13 PM UTC-5, Wyatt Baldwin wrote:
>
> What line causes the error? Can you post the traceback?
>
> On Friday, January 31, 2014 7:13:57 PM UTC-8, Thomas Grzybowski wrote:
>>
>> Hi,
>>
>> This is my first attempt at a pyramid app, and I could sure use some
>> help. I am trying to add records to a database table. I can enter values
>> into the fields specified in the views schema, but when I enter the last
>> field I get an error:
>>
>> AttributeError: 'unicode' object has no attribute 'get'
>>
>> - Expression: "
>> ${form.csrf_token()}
>>
>> ${form.errorlist('seq')}
>> ${form.label('seq', 'Seq:')}
>> ${form.text('seq')}
>> "
>>
>> Oddly, the error message shows the first field. And no data is committed
>> to the database table. Here is the source for my views.py:
>>
>> import formencode
>> from operator import itemgetter
>> from pyramid.response import Response
>> from pyramid.view import view_config
>> from pyramid_simpleform import Form
>> from pyramid_simpleform.renderers import FormRenderer
>> from pyramid.renderers import render
>> from sqlalchemy.exc import DBAPIError
>>
>> from .models import (
>> DBSession,
>> MyModel,
>> )
>>
>> class AddTreeSchema(formencode.Schema):
>> allow_extra_fields = False
>> seq = formencode.validators.Int(not_empty=True)
>> dbh = formencode.validators.Int(not_empty=False)
>> merch = formencode.validators.Int(not_empty=False)
>> species = formencode.validators.String(not_empty=True)
>>
>> @view_config(permission='post',route_name='tree_add',
>> renderer='templates/tree_add.pt')
>>
>> def tree_add(request):
>> target = request.params.get('target')
>> session = DBSession()
>> if target:
>> target = Trees.get_by_id(target, with_joinedload=False)
>> if not target:
>> return {}
>>
>> form = Form(request, schema=AddTreeSchema)
>>
>> if 'form.submitted' in request.POST and form.validate():
>> session = DBSession()
>> tree = Tree(
>> seq =form.data['seq'],
>> dbh =form.data['dbh'],
>> merch=form.data['merch'],
>> species=form.data['species']
>> )
>> session.add(tree)
>>
>> headers = remember(request, seq)
>>
>> return {
>> 'form': FormRenderer(form),
>> }
>>
>> Here is the template "tree_add.pt":
>>
>>
>> <html metal:use-macro="load:global_template.pt">
>> <div metal:fill-slot="content">
>> <h1>tree_add</h1>
>>
>> <tal:block metal:fill-slot="content">
>> <div class="instructions">
>> <p>You are adding a tree</p>
>> </div>
>> <p>Please submit your tree.</p>
>> ${form.begin(request.route_url('tree_add'), id='tree_add_form')}
>> <fieldset>
>> ${form.csrf_token()}
>>
>> ${form.errorlist('seq')}
>> ${form.label('seq', 'Seq:')}
>> ${form.text('seq')}
>> <br />
>> ${form.errorlist('dbh')}
>> ${form.label('dbh', 'DBH:')}
>> ${form.text('dbh')}
>> <br />
>> ${form.errorlist('merch')}
>> ${form.label('merch', 'Merch:')}
>> ${form.text('merch')}
>> <br />
>> ${form.errorlist('species')}
>> ${form.label('species', 'Species:')}
>> ${form.text('species')}
>> <br />
>> ${form.submit('form.submitted','tree_add',class_='submit')}
>> </fieldset>
>> ${form.end()}
>> </tal:block>
>> </html>
>>
>> I am surely missing something. Thanks much for any help!
>>
>> Tom
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/groups/opt_out.