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.

Reply via email to