Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
Obrigado

Em quinta-feira, 16 de novembro de 2023 às 18:43:03 UTC-3, Steve Piercy 
escreveu:

> This page has some resources.
>
> https://trypyramid.com/documentation.html
>
> --steve
>
>
> On 11/16/23 1:37 PM, Oberdan Santos wrote:
>
> I have done a lot of reading, some of it with tutorials, but very 
> superficial.
> I have some scripts with a database without using http transactions, which 
> work normally.
> Any suggestions for someone who could be helping me debug the code or even 
> yourself and how I can pay for it?
>
> Anyway, thanks for the support.
>
>
> Em quinta-feira, 16 de novembro de 2023 às 18:24:43 UTC-3, Oberdan Santos 
> escreveu:
>
>> Sim!!  importante dica.
>>
>> Em quinta-feira, 16 de novembro de 2023 às 18:19:06 UTC-3, Laurent 
>> Daverio escreveu:
>>
>>> Yes, that's true. If you write a monolithic app with Jinja templates, 
>>> you will use {{ }}. If you use a Javascript frontend, you will find that 
>>> `${}` is very convenient :)
>>>
>>> Le jeu. 16 nov. 2023 à 21:52, Florian Schulze  
>>> a écrit :
>>>
 With Jinja Templates you have to use {{ save_url }} not ${save_url}. 
 You can see from the URL the form is trying to POST to that it contains 
 the 
 $ sign. You can also see such things from your Browser HTML Inspector.

 Regards, 
 Florian Schulze

 On 16 Nov 2023, at 14:51, Oberdan Santos wrote:

 Hello!! I am facing a problem when trying to post data to the database. 
 When asking to send the application data I receive the following: Squashed 
 pyramid.httpexceptions.HTTPNotFound at 
 http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D

 . Below is information about my files.

 # piprdc/piprdc/routes.py
 def includeme(config):
  config.add_static_view('static', 'static', cache_max_age=3600)
  config.add_route('home', '/')
  config.add_route('modulo_x', '/mod_plataforma')
  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
  config.add_route('add_reg', 
 '/mod_plataforma/mod1_plataforma/recepx/add_reg')
  config.add_route('query', 
 '/mod_plataforma/mod1_plataforma/recepx/query')

 ..

 #views/default.py
 from pyramid.view import view_config
 from pyramid.response import Response
 from sqlalchemy.exc import SQLAlchemyError, DBAPIError
 from pyramid.httpexceptions import HTTPFound
 from .. import models
 from ..models import Patient
 from ..models import get_tm_session
 dbsession = get_tm_session

 view_config(route_name='add_reg', 
 renderer='piprdc:templates/reg_pacx.jinja2')
 def add_reg(request):
  save_url = request.route_url('add_reg')
  request.route_url('query')
  print('RUN')
  if request.params:
  id=request.params['id']
  name=request.params['name']
  age=request.params['age']
  birth_date=request.params['birth_date']
  sex=request.params['sex']
  race=request.params['race']
  fone=request.params['fone']
  address=request.params['address']
  cpf=request.params['cpf']
  cns=request.params['cns']
  patients=Patient(id=id, name=name, age=age, 
 date_birth=date_birth, sex=sex,
 race=race, phone=phone, address=address, 
 cpf=cpf, cns=cns)
  try:
  dbsession.add_reg(patients)
  return HTTPFound(location=request.route_url('query'))
  except DBAPIError:
  return Response("DB ERROR")
  else:
  print('DO NOT RUN')
  return{'save_url': save_url, 'project': 'piprdc'}

 

 #templates/reg_pacx.jinja2
 {% extends "basefull.jinja2" %}
 {% block container %}
 
 
 Patient registration
 
 Patient Id:  
 Patient Name:  
 Age:  
 Date of birth:  
 Gender:  
 Race:  
 Phone:  
 Address:  
 CPF:  
 CNS:  
  
 
 
 {% endblock container %}

 
 #models/__init__.py

 from sqlalchemy import engine_from_config
 from sqlalchemy.orm import sessionmaker
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy_continuum.plugins import Plugin
 impor

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Steve Piercy

This page has some resources.

https://trypyramid.com/documentation.html

--steve


On 11/16/23 1:37 PM, Oberdan Santos wrote:

I have done a lot of reading, some of it with tutorials, but very superficial.
I have some scripts with a database without using http transactions, which work 
normally.
Any suggestions for someone who could be helping me debug the code or even 
yourself and how I can pay for it?

Anyway, thanks for the support.


Em quinta-feira, 16 de novembro de 2023 às 18:24:43 UTC-3, Oberdan Santos 
escreveu:

Sim!! importante dica.

Em quinta-feira, 16 de novembro de 2023 às 18:19:06 UTC-3, Laurent Daverio 
escreveu:

Yes, that's true. If you write a monolithic app with Jinja templates, 
you will use {{ }}. If you use a Javascript frontend, you will find that `${}` 
is very convenient :)

Le jeu. 16 nov. 2023 à 21:52, Florian Schulze 
 a écrit :

With Jinja Templates you have to use {{ save_url }} not 
${save_url}. You can see from the URL the form is trying to POST to that it 
contains the $ sign. You can also see such things from your Browser HTML 
Inspector.

Regards,
Florian Schulze

On 16 Nov 2023, at 14:51, Oberdan Santos wrote:

Hello!! I am facing a problem when trying to post data to the 
database. When asking to send the application data I receive the following: 
Squashed pyramid.httpexceptions.HTTPNotFound at 
http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D

. Below is information about my files.

# piprdc/piprdc/routes.py
def includeme(config):
     config.add_static_view('static', 'static', 
cache_max_age=3600)
     config.add_route('home', '/')
     config.add_route('modulo_x', '/mod_plataforma')
     config.add_route('modulo1', 
'/mod_plataforma/mod1_plataforma')
     config.add_route('modulo2', 
'/mod_plataforma/mod2_plataforma')
     config.add_route('modulo3', 
'/mod_plataforma/mod3_plataforma')
     config.add_route('modulo4', 
'/mod_plataforma/mod4_plataforma')
     config.add_route('modulo5', 
'/mod_plataforma/mod5_plataforma')
     config.add_route('modulo6', 
'/mod_plataforma/mod6_plataforma')
     config.add_route('abcx', 
'/mod_plataforma/mod1_plataforma/recepx')
     config.add_route('add_reg', 
'/mod_plataforma/mod1_plataforma/recepx/add_reg')
     config.add_route('query', 
'/mod_plataforma/mod1_plataforma/recepx/query')

..

#views/default.py
from pyramid.view import view_config
from pyramid.response import Response
from sqlalchemy.exc import SQLAlchemyError, DBAPIError
from pyramid.httpexceptions import HTTPFound
from .. import models
from ..models import Patient
from ..models import get_tm_session
dbsession = get_tm_session

view_config(route_name='add_reg', 
renderer='piprdc:templates/reg_pacx.jinja2')
def add_reg(request):
     save_url = request.route_url('add_reg')
     request.route_url('query')
     print('RUN')
     if request.params:
         id=request.params['id']
         name=request.params['name']
         age=request.params['age']
 birth_date=request.params['birth_date']
         sex=request.params['sex']
         race=request.params['race']
         fone=request.params['fone']
         address=request.params['address']
         cpf=request.params['cpf']
         cns=request.params['cns']
         patients=Patient(id=id, name=name, age=age, 
date_birth=date_birth, sex=sex,
                            race=race, phone=phone, 
address=address, cpf=cpf, cns=cns)
         try:
             dbsession.add_reg(patients)
             return 
HTTPFound(location=request.route_url('query'))
         except DBAPIError:
             return Response("DB ERROR")
     else:
         print('DO NOT RUN')
         return{'save_url': save_url, 'project': 'piprdc'}



#templates/reg_pacx.jinja2
{% extends "basefull.jinja2" %}
{% block container %}


    Patient 
registration
    
    Patient Id:  
    Patient Name:  

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
I have done a lot of reading, some of it with tutorials, but very 
superficial.
I have some scripts with a database without using http transactions, which 
work normally.
Any suggestions for someone who could be helping me debug the code or even 
yourself and how I can pay for it?

Anyway, thanks for the support.


Em quinta-feira, 16 de novembro de 2023 às 18:24:43 UTC-3, Oberdan Santos 
escreveu:

> Sim!!  importante dica.
>
> Em quinta-feira, 16 de novembro de 2023 às 18:19:06 UTC-3, Laurent Daverio 
> escreveu:
>
>> Yes, that's true. If you write a monolithic app with Jinja templates, you 
>> will use {{ }}. If you use a Javascript frontend, you will find that `${}` 
>> is very convenient :)
>>
>> Le jeu. 16 nov. 2023 à 21:52, Florian Schulze  
>> a écrit :
>>
>>> With Jinja Templates you have to use {{ save_url }} not ${save_url}. You 
>>> can see from the URL the form is trying to POST to that it contains the $ 
>>> sign. You can also see such things from your Browser HTML Inspector.
>>>
>>> Regards, 
>>> Florian Schulze
>>>
>>> On 16 Nov 2023, at 14:51, Oberdan Santos wrote:
>>>
>>> Hello!! I am facing a problem when trying to post data to the database. 
>>> When asking to send the application data I receive the following: Squashed 
>>> pyramid.httpexceptions.HTTPNotFound at 
>>> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>>>
>>> . Below is information about my files.
>>>
>>> # piprdc/piprdc/routes.py
>>> def includeme(config):
>>>  config.add_static_view('static', 'static', cache_max_age=3600)
>>>  config.add_route('home', '/')
>>>  config.add_route('modulo_x', '/mod_plataforma')
>>>  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>>>  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>>>  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>>>  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>>>  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>>>  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>>>  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>>>  config.add_route('add_reg', 
>>> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
>>>  config.add_route('query', 
>>> '/mod_plataforma/mod1_plataforma/recepx/query')
>>>
>>> ..
>>>
>>> #views/default.py
>>> from pyramid.view import view_config
>>> from pyramid.response import Response
>>> from sqlalchemy.exc import SQLAlchemyError, DBAPIError
>>> from pyramid.httpexceptions import HTTPFound
>>> from .. import models
>>> from ..models import Patient
>>> from ..models import get_tm_session
>>> dbsession = get_tm_session
>>>
>>> view_config(route_name='add_reg', 
>>> renderer='piprdc:templates/reg_pacx.jinja2')
>>> def add_reg(request):
>>>  save_url = request.route_url('add_reg')
>>>  request.route_url('query')
>>>  print('RUN')
>>>  if request.params:
>>>  id=request.params['id']
>>>  name=request.params['name']
>>>  age=request.params['age']
>>>  birth_date=request.params['birth_date']
>>>  sex=request.params['sex']
>>>  race=request.params['race']
>>>  fone=request.params['fone']
>>>  address=request.params['address']
>>>  cpf=request.params['cpf']
>>>  cns=request.params['cns']
>>>  patients=Patient(id=id, name=name, age=age, 
>>> date_birth=date_birth, sex=sex,
>>> race=race, phone=phone, address=address, 
>>> cpf=cpf, cns=cns)
>>>  try:
>>>  dbsession.add_reg(patients)
>>>  return HTTPFound(location=request.route_url('query'))
>>>  except DBAPIError:
>>>  return Response("DB ERROR")
>>>  else:
>>>  print('DO NOT RUN')
>>>  return{'save_url': save_url, 'project': 'piprdc'}
>>>
>>> 
>>>
>>> #templates/reg_pacx.jinja2
>>> {% extends "basefull.jinja2" %}
>>> {% block container %}
>>> 
>>> 
>>> Patient registration
>>> 
>>> Patient Id:  
>>> Patient Name:  
>>> Age:  
>>> Date of birth:  
>>> Gender:  
>>> Race:  
>>> Phone:  
>>> Address:  
>>> CPF:  
>>> CNS:  
>>>  
>>> 
>>> 
>>> {% endblock container %}
>>>
>>> 
>>> #models/__init__.py
>>>
>>> from sqlalchemy import engine_from_config
>>> from sqlalchemy.orm import sessionmaker
>>> from sqlalchemy.orm import configure_mappers
>>> from sqlalchemy_continuum.plugins import Plugin
>>> import zope.sqlalchemy
>>>
>>> from .mymodel import Patient # flake8: noqa
>>>
>>> configure_mappers()
>>>
>>> def get_engine(settings, prefix='sqlalchemy.'):
>>>  return engine_from_config(settings, prefix)
>>>
>>> def get_session_factory(engine):
>>>  factory = sessionmaker()
>>>  factory.configure(bind=engine)
>>>  return factory
>>>
>>> def get_tm_session(session_facto

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
Sim!!  importante dica.

Em quinta-feira, 16 de novembro de 2023 às 18:19:06 UTC-3, Laurent Daverio 
escreveu:

> Yes, that's true. If you write a monolithic app with Jinja templates, you 
> will use {{ }}. If you use a Javascript frontend, you will find that `${}` 
> is very convenient :)
>
> Le jeu. 16 nov. 2023 à 21:52, Florian Schulze  
> a écrit :
>
>> With Jinja Templates you have to use {{ save_url }} not ${save_url}. You 
>> can see from the URL the form is trying to POST to that it contains the $ 
>> sign. You can also see such things from your Browser HTML Inspector.
>>
>> Regards, 
>> Florian Schulze
>>
>> On 16 Nov 2023, at 14:51, Oberdan Santos wrote:
>>
>> Hello!! I am facing a problem when trying to post data to the database. 
>> When asking to send the application data I receive the following: Squashed 
>> pyramid.httpexceptions.HTTPNotFound at 
>> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>>
>> . Below is information about my files.
>>
>> # piprdc/piprdc/routes.py
>> def includeme(config):
>>  config.add_static_view('static', 'static', cache_max_age=3600)
>>  config.add_route('home', '/')
>>  config.add_route('modulo_x', '/mod_plataforma')
>>  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>>  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>>  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>>  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>>  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>>  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>>  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>>  config.add_route('add_reg', 
>> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
>>  config.add_route('query', 
>> '/mod_plataforma/mod1_plataforma/recepx/query')
>>
>> ..
>>
>> #views/default.py
>> from pyramid.view import view_config
>> from pyramid.response import Response
>> from sqlalchemy.exc import SQLAlchemyError, DBAPIError
>> from pyramid.httpexceptions import HTTPFound
>> from .. import models
>> from ..models import Patient
>> from ..models import get_tm_session
>> dbsession = get_tm_session
>>
>> view_config(route_name='add_reg', 
>> renderer='piprdc:templates/reg_pacx.jinja2')
>> def add_reg(request):
>>  save_url = request.route_url('add_reg')
>>  request.route_url('query')
>>  print('RUN')
>>  if request.params:
>>  id=request.params['id']
>>  name=request.params['name']
>>  age=request.params['age']
>>  birth_date=request.params['birth_date']
>>  sex=request.params['sex']
>>  race=request.params['race']
>>  fone=request.params['fone']
>>  address=request.params['address']
>>  cpf=request.params['cpf']
>>  cns=request.params['cns']
>>  patients=Patient(id=id, name=name, age=age, 
>> date_birth=date_birth, sex=sex,
>> race=race, phone=phone, address=address, 
>> cpf=cpf, cns=cns)
>>  try:
>>  dbsession.add_reg(patients)
>>  return HTTPFound(location=request.route_url('query'))
>>  except DBAPIError:
>>  return Response("DB ERROR")
>>  else:
>>  print('DO NOT RUN')
>>  return{'save_url': save_url, 'project': 'piprdc'}
>>
>> 
>>
>> #templates/reg_pacx.jinja2
>> {% extends "basefull.jinja2" %}
>> {% block container %}
>> 
>> 
>> Patient registration
>> 
>> Patient Id:  
>> Patient Name:  
>> Age:  
>> Date of birth:  
>> Gender:  
>> Race:  
>> Phone:  
>> Address:  
>> CPF:  
>> CNS:  
>>  
>> 
>> 
>> {% endblock container %}
>>
>> 
>> #models/__init__.py
>>
>> from sqlalchemy import engine_from_config
>> from sqlalchemy.orm import sessionmaker
>> from sqlalchemy.orm import configure_mappers
>> from sqlalchemy_continuum.plugins import Plugin
>> import zope.sqlalchemy
>>
>> from .mymodel import Patient # flake8: noqa
>>
>> configure_mappers()
>>
>> def get_engine(settings, prefix='sqlalchemy.'):
>>  return engine_from_config(settings, prefix)
>>
>> def get_session_factory(engine):
>>  factory = sessionmaker()
>>  factory.configure(bind=engine)
>>  return factory
>>
>> def get_tm_session(session_factory, transaction_manager, request=None):
>> dbsession = session_factory(info={"request": request})
>>  zope.sqlalchemy.register(
>>  dbsession, transaction_manager=transaction_manager
>>  )
>>  return dbsession
>> def includeme(config):
>>
>>  settings = config.get_settings()
>>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>>
>>   config.include('pyramid_tm')
>>
>>  config.include('pyramid_retry')
>>
>>  # hook to share the dbengine fixture in testing
>>  dbengine = s

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Laurent Daverio
Maybe you should take the time to follow the official Pyramid tutorials,
they would answer many of your questions.

In common Pyramid apps (including yours, I suppose), SQL transactions are
controlled by HTTP "transactions", which is extremely convenient: if the
view fails, the SQL transaction is rolled back. If the view succeeds, the
SQL transaction is committed automatically. You never write
request.dbsession.commit().

Please, please, take the time to read the tutorials. I'm willing to help,
but I think this list is not the right place for debugging your app.

Le jeu. 16 nov. 2023 à 21:48, Oberdan Santos  a
écrit :

> The new structure advanced, but presented another error that I don't know
> where to start and resolve it.
>
> @view_config(route_name='add', request_method='POST')
> def add(request):
> id=request.POST['id']
> name=request.POST['name']
> idade=request.POST['idade']
> data_nascimento=request.POST['data_nascimento']
> sexo=request.POST['sexo']
> raca=request.POST['raca']
> fone=request.POST['fone']
> endereco=request.POST['endereco']
> cpf=request.POST['cpf']
> cns=request.POST['cns']
> pacientes=Paciente(id=id, name=name, idade=idade, data_nascimento=
> data_nascimento, sexo=sexo, raca=raca, fone=fone, endereco=endereco, cpf=
> cpf, cns=cns)
> request.dbsession.add(pacientes)
> request.dbsession.commit()
> return HTTPFound(location='http://localhost:6543/lista')
>
> ERRO:
>   File
> "C:\Users\oberd\proj_piprdc\oberd\Lib\site-packages\zope\sqlalchemy\datamanager.py",
> line 333, in before_commit
> or self.transaction_manager.get().status == ZopeStatus.COMMITTING
>^^
> AssertionError: Transaction must be committed using the transaction manager
>
>
> Em quinta-feira, 16 de novembro de 2023 às 17:11:35 UTC-3, Laurent Daverio
> escreveu:
>
>> I think you want to write "request.dbsession.add(...)" instead.
>>
>> Function dbsession is not meant to be used directly, only to create
>> "request.dbsession", via "config.add_request_method(dbsession,
>> reify=True)". This way, in your code, you never have to declare or import
>> "dbsession", just use "request.dbsession" directly.
>>
>> Laurent.
>>
>> Le jeu. 16 nov. 2023 à 20:25, Oberdan Santos  a
>> écrit :
>>
>>> Sua dica esta correta.  Fiz algumas alterações e percebi avanços. No
>>> entanto estou com o seguinte erro:
>>> File "C:\Users\oberd\proj_piprdc\piprdc\piprdc\views\default.py", line
>>> 87, in add
>>> dbsession.add(pacientes)
>>> ^
>>> AttributeError: 'function' object has no attribute 'add'
>>>
>>>
>>> #models/__init__.py
>>>
>>> from sqlalchemy import engine_from_config
>>> from sqlalchemy.orm import sessionmaker
>>> from sqlalchemy.orm import configure_mappers
>>> from sqlalchemy_continuum.plugins import Plugin
>>> import zope.sqlalchemy
>>>
>>> from .mymodel import Patient # flake8: noqa
>>>
>>> configure_mappers()
>>>
>>> def get_engine(settings, prefix='sqlalchemy.'):
>>>  return engine_from_config(settings, prefix)
>>>
>>> def get_session_factory(engine):
>>>  factory = sessionmaker()
>>>  factory.configure(bind=engine)
>>>  return factory
>>>
>>> def get_tm_session(session_factory, transaction_manager, request=None):
>>> dbsession = session_factory(info={"request": request})
>>>  zope.sqlalchemy.register(
>>>  dbsession, transaction_manager=transaction_manager
>>>  )
>>>  return dbsession
>>> def includeme(config):
>>>
>>>  settings = config.get_settings()
>>>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>>>
>>>   config.include('pyramid_tm')
>>>
>>>  config.include('pyramid_retry')
>>>
>>>  # hook to share the dbengine fixture in testing
>>>  dbengine = settings.get('dbengine')
>>>  if not dbengine:
>>>  dbengine = get_engine(settings)
>>>
>>>  session_factory = get_session_factory(dbengine)
>>>  config.registry['dbsession_factory'] = session_factory
>>>
>>>  def dbsession(request):
>>>  dbsession = request.environ.get('app.dbsession')
>>>  if dbsession is None:
>>>   dbsession = get_tm_session(
>>>  session_factory, request.tm, request=request
>>>   config.add_request_method(dbsession, reify=True)
>>>
>>> .
>>>
>>> #views/default.py
>>> from pyramid.view import view_config
>>> from pyramid.response import Response
>>> from sqlalchemy.exc import SQLAlchemyError
>>> from pyramid.httpexceptions import HTTPFound
>>> from ..models import Paciente
>>> from ..models import get_tm_session
>>> dbsession = get_tm_session
>>>
>>> @view_config(route_name='add', request_method='POST')
>>> def add(request):
>>> id=request.POST['id']
>>> name=request.POST['name']
>>> idade=request.POST['idade']
>>> data_nascimento=request.POST['data_nascimento']
>>> sexo=request.POST['sexo

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Laurent Daverio
Yes, that's true. If you write a monolithic app with Jinja templates, you
will use {{ }}. If you use a Javascript frontend, you will find that `${}`
is very convenient :)

Le jeu. 16 nov. 2023 à 21:52, Florian Schulze  a
écrit :

> With Jinja Templates you have to use {{ save_url }} not ${save_url}. You
> can see from the URL the form is trying to POST to that it contains the $
> sign. You can also see such things from your Browser HTML Inspector.
>
> Regards,
> Florian Schulze
>
> On 16 Nov 2023, at 14:51, Oberdan Santos wrote:
>
> Hello!! I am facing a problem when trying to post data to the database.
> When asking to send the application data I receive the following: Squashed
> pyramid.httpexceptions.HTTPNotFound at
> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>
> . Below is information about my files.
>
> # piprdc/piprdc/routes.py
> def includeme(config):
>  config.add_static_view('static', 'static', cache_max_age=3600)
>  config.add_route('home', '/')
>  config.add_route('modulo_x', '/mod_plataforma')
>  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>  config.add_route('add_reg',
> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
>  config.add_route('query',
> '/mod_plataforma/mod1_plataforma/recepx/query')
>
> ..
>
> #views/default.py
> from pyramid.view import view_config
> from pyramid.response import Response
> from sqlalchemy.exc import SQLAlchemyError, DBAPIError
> from pyramid.httpexceptions import HTTPFound
> from .. import models
> from ..models import Patient
> from ..models import get_tm_session
> dbsession = get_tm_session
>
> view_config(route_name='add_reg',
> renderer='piprdc:templates/reg_pacx.jinja2')
> def add_reg(request):
>  save_url = request.route_url('add_reg')
>  request.route_url('query')
>  print('RUN')
>  if request.params:
>  id=request.params['id']
>  name=request.params['name']
>  age=request.params['age']
>  birth_date=request.params['birth_date']
>  sex=request.params['sex']
>  race=request.params['race']
>  fone=request.params['fone']
>  address=request.params['address']
>  cpf=request.params['cpf']
>  cns=request.params['cns']
>  patients=Patient(id=id, name=name, age=age,
> date_birth=date_birth, sex=sex,
> race=race, phone=phone, address=address,
> cpf=cpf, cns=cns)
>  try:
>  dbsession.add_reg(patients)
>  return HTTPFound(location=request.route_url('query'))
>  except DBAPIError:
>  return Response("DB ERROR")
>  else:
>  print('DO NOT RUN')
>  return{'save_url': save_url, 'project': 'piprdc'}
>
> 
>
> #templates/reg_pacx.jinja2
> {% extends "basefull.jinja2" %}
> {% block container %}
> 
> 
> Patient registration
> 
> Patient Id:  
> Patient Name:  
> Age:  
> Date of birth:  
> Gender:  
> Race:  
> Phone:  
> Address:  
> CPF:  
> CNS:  
>  
> 
> 
> {% endblock container %}
>
> 
> #models/__init__.py
>
> from sqlalchemy import engine_from_config
> from sqlalchemy.orm import sessionmaker
> from sqlalchemy.orm import configure_mappers
> from sqlalchemy_continuum.plugins import Plugin
> import zope.sqlalchemy
>
> from .mymodel import Patient # flake8: noqa
>
> configure_mappers()
>
> def get_engine(settings, prefix='sqlalchemy.'):
>  return engine_from_config(settings, prefix)
>
> def get_session_factory(engine):
>  factory = sessionmaker()
>  factory.configure(bind=engine)
>  return factory
>
> def get_tm_session(session_factory, transaction_manager, request=None):
> dbsession = session_factory(info={"request": request})
>  zope.sqlalchemy.register(
>  dbsession, transaction_manager=transaction_manager
>  )
>  return dbsession
> def includeme(config):
>
>  settings = config.get_settings()
>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>
>   config.include('pyramid_tm')
>
>  config.include('pyramid_retry')
>
>  # hook to share the dbengine fixture in testing
>  dbengine = settings.get('dbengine')
>  if not dbengine:
>  dbengine = get_engine(settings)
>
>  session_factory = get_session_factory(dbengine)
>  config.registry['dbsession_factory'] = session_factory
>
>  def dbsession(request):
>  dbsession = request.environ.g

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
Obrigado!!!

Em quinta-feira, 16 de novembro de 2023 às 17:52:03 UTC-3, Florian Schulze 
escreveu:

> With Jinja Templates you have to use {{ save_url }} not ${save_url}. You 
> can see from the URL the form is trying to POST to that it contains the $ 
> sign. You can also see such things from your Browser HTML Inspector.
>
> Regards, 
> Florian Schulze
>
> On 16 Nov 2023, at 14:51, Oberdan Santos wrote:
>
> Hello!! I am facing a problem when trying to post data to the database. 
> When asking to send the application data I receive the following: Squashed 
> pyramid.httpexceptions.HTTPNotFound at 
> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>
> . Below is information about my files.
>
> # piprdc/piprdc/routes.py
> def includeme(config):
>  config.add_static_view('static', 'static', cache_max_age=3600)
>  config.add_route('home', '/')
>  config.add_route('modulo_x', '/mod_plataforma')
>  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>  config.add_route('add_reg', 
> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
>  config.add_route('query', 
> '/mod_plataforma/mod1_plataforma/recepx/query')
>
> ..
>
> #views/default.py
> from pyramid.view import view_config
> from pyramid.response import Response
> from sqlalchemy.exc import SQLAlchemyError, DBAPIError
> from pyramid.httpexceptions import HTTPFound
> from .. import models
> from ..models import Patient
> from ..models import get_tm_session
> dbsession = get_tm_session
>
> view_config(route_name='add_reg', 
> renderer='piprdc:templates/reg_pacx.jinja2')
> def add_reg(request):
>  save_url = request.route_url('add_reg')
>  request.route_url('query')
>  print('RUN')
>  if request.params:
>  id=request.params['id']
>  name=request.params['name']
>  age=request.params['age']
>  birth_date=request.params['birth_date']
>  sex=request.params['sex']
>  race=request.params['race']
>  fone=request.params['fone']
>  address=request.params['address']
>  cpf=request.params['cpf']
>  cns=request.params['cns']
>  patients=Patient(id=id, name=name, age=age, 
> date_birth=date_birth, sex=sex,
> race=race, phone=phone, address=address, 
> cpf=cpf, cns=cns)
>  try:
>  dbsession.add_reg(patients)
>  return HTTPFound(location=request.route_url('query'))
>  except DBAPIError:
>  return Response("DB ERROR")
>  else:
>  print('DO NOT RUN')
>  return{'save_url': save_url, 'project': 'piprdc'}
>
> 
>
> #templates/reg_pacx.jinja2
> {% extends "basefull.jinja2" %}
> {% block container %}
> 
> 
> Patient registration
> 
> Patient Id:  
> Patient Name:  
> Age:  
> Date of birth:  
> Gender:  
> Race:  
> Phone:  
> Address:  
> CPF:  
> CNS:  
>  
> 
> 
> {% endblock container %}
>
> 
> #models/__init__.py
>
> from sqlalchemy import engine_from_config
> from sqlalchemy.orm import sessionmaker
> from sqlalchemy.orm import configure_mappers
> from sqlalchemy_continuum.plugins import Plugin
> import zope.sqlalchemy
>
> from .mymodel import Patient # flake8: noqa
>
> configure_mappers()
>
> def get_engine(settings, prefix='sqlalchemy.'):
>  return engine_from_config(settings, prefix)
>
> def get_session_factory(engine):
>  factory = sessionmaker()
>  factory.configure(bind=engine)
>  return factory
>
> def get_tm_session(session_factory, transaction_manager, request=None):
> dbsession = session_factory(info={"request": request})
>  zope.sqlalchemy.register(
>  dbsession, transaction_manager=transaction_manager
>  )
>  return dbsession
> def includeme(config):
>
>  settings = config.get_settings()
>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>
>   config.include('pyramid_tm')
>
>  config.include('pyramid_retry')
>
>  # hook to share the dbengine fixture in testing
>  dbengine = settings.get('dbengine')
>  if not dbengine:
>  dbengine = get_engine(settings)
>
>  session_factory = get_session_factory(dbengine)
>  config.registry['dbsession_factory'] = session_factory
>
>  def dbsession(request):
>  dbsession = request.environ.get('app.dbsession')
>  if dbsession is None:
>   dbsession = get_tm_session(
> 

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Florian Schulze
With Jinja Templates you have to use {{ save_url }} not ${save_url}. You 
can see from the URL the form is trying to POST to that it contains the 
$ sign. You can also see such things from your Browser HTML Inspector.


Regards,
Florian Schulze

On 16 Nov 2023, at 14:51, Oberdan Santos wrote:

Hello!! I am facing a problem when trying to post data to the 
database.
When asking to send the application data I receive the following: 
Squashed

pyramid.httpexceptions.HTTPNotFound at
http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D

. Below is information about my files.

# piprdc/piprdc/routes.py
def includeme(config):
 config.add_static_view('static', 'static', cache_max_age=3600)
 config.add_route('home', '/')
 config.add_route('modulo_x', '/mod_plataforma')
 config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
 config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
 config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
 config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
 config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
 config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
 config.add_route('abcx', 
'/mod_plataforma/mod1_plataforma/recepx')

 config.add_route('add_reg',
'/mod_plataforma/mod1_plataforma/recepx/add_reg')
 config.add_route('query',
'/mod_plataforma/mod1_plataforma/recepx/query')

..

#views/default.py
from pyramid.view import view_config
from pyramid.response import Response
from sqlalchemy.exc import SQLAlchemyError, DBAPIError
from pyramid.httpexceptions import HTTPFound
from .. import models
from ..models import Patient
from ..models import get_tm_session
dbsession = get_tm_session

view_config(route_name='add_reg',
renderer='piprdc:templates/reg_pacx.jinja2')
def add_reg(request):
 save_url = request.route_url('add_reg')
 request.route_url('query')
 print('RUN')
 if request.params:
 id=request.params['id']
 name=request.params['name']
 age=request.params['age']
 birth_date=request.params['birth_date']
 sex=request.params['sex']
 race=request.params['race']
 fone=request.params['fone']
 address=request.params['address']
 cpf=request.params['cpf']
 cns=request.params['cns']
 patients=Patient(id=id, name=name, age=age, 
date_birth=date_birth,

sex=sex,
race=race, phone=phone, address=address,
cpf=cpf, cns=cns)
 try:
 dbsession.add_reg(patients)
 return HTTPFound(location=request.route_url('query'))
 except DBAPIError:
 return Response("DB ERROR")
 else:
 print('DO NOT RUN')
 return{'save_url': save_url, 'project': 'piprdc'}



#templates/reg_pacx.jinja2
{% extends "basefull.jinja2" %}
{% block container %}


Patient registration

Patient Id:  
Patient Name:  
Age:  
Date of birth:  
Gender:  
Race:  
Phone:  
Address:  
CPF:  
CNS:  
 


{% endblock container %}


#models/__init__.py

from sqlalchemy import engine_from_config
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import configure_mappers
from sqlalchemy_continuum.plugins import Plugin
import zope.sqlalchemy

from .mymodel import Patient # flake8: noqa

configure_mappers()

def get_engine(settings, prefix='sqlalchemy.'):
 return engine_from_config(settings, prefix)

def get_session_factory(engine):
 factory = sessionmaker()
 factory.configure(bind=engine)
 return factory

def get_tm_session(session_factory, transaction_manager, 
request=None):

dbsession = session_factory(info={"request": request})
 zope.sqlalchemy.register(
 dbsession, transaction_manager=transaction_manager
 )
 return dbsession
def includeme(config):

 settings = config.get_settings()
 settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'

  config.include('pyramid_tm')

 config.include('pyramid_retry')

 # hook to share the dbengine fixture in testing
 dbengine = settings.get('dbengine')
 if not dbengine:
 dbengine = get_engine(settings)

 session_factory = get_session_factory(dbengine)
 config.registry['dbsession_factory'] = session_factory

 def dbsession(request):
 dbsession = request.environ.get('app.dbsession')
 if dbsession is None:
  dbsession = get_tm_session(
 session_factory, request.tm, request=request
  config.add_request_method(dbsession, reify=True)

Any help is welcome.

--
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 view this discussi

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
The new structure advanced, but presented another error that I don't know 
where to start and resolve it.

@view_config(route_name='add', request_method='POST')
def add(request):
id=request.POST['id']
name=request.POST['name']
idade=request.POST['idade']
data_nascimento=request.POST['data_nascimento']
sexo=request.POST['sexo']
raca=request.POST['raca']
fone=request.POST['fone']
endereco=request.POST['endereco']
cpf=request.POST['cpf']
cns=request.POST['cns']
pacientes=Paciente(id=id, name=name, idade=idade, data_nascimento=
data_nascimento, sexo=sexo, raca=raca, fone=fone, endereco=endereco, cpf=cpf, 
cns=cns)
request.dbsession.add(pacientes)
request.dbsession.commit()
return HTTPFound(location='http://localhost:6543/lista')

ERRO:
  File 
"C:\Users\oberd\proj_piprdc\oberd\Lib\site-packages\zope\sqlalchemy\datamanager.py",
 
line 333, in before_commit
or self.transaction_manager.get().status == ZopeStatus.COMMITTING
   ^^
AssertionError: Transaction must be committed using the transaction manager


Em quinta-feira, 16 de novembro de 2023 às 17:11:35 UTC-3, Laurent Daverio 
escreveu:

> I think you want to write "request.dbsession.add(...)" instead.
>
> Function dbsession is not meant to be used directly, only to create 
> "request.dbsession", via "config.add_request_method(dbsession, 
> reify=True)". This way, in your code, you never have to declare or import 
> "dbsession", just use "request.dbsession" directly.
>
> Laurent.
>
> Le jeu. 16 nov. 2023 à 20:25, Oberdan Santos  a 
> écrit :
>
>> Sua dica esta correta.  Fiz algumas alterações e percebi avanços. No 
>> entanto estou com o seguinte erro:
>> File "C:\Users\oberd\proj_piprdc\piprdc\piprdc\views\default.py", line 
>> 87, in add
>> dbsession.add(pacientes)
>> ^
>> AttributeError: 'function' object has no attribute 'add'
>>
>>
>> #models/__init__.py
>>
>> from sqlalchemy import engine_from_config
>> from sqlalchemy.orm import sessionmaker
>> from sqlalchemy.orm import configure_mappers
>> from sqlalchemy_continuum.plugins import Plugin
>> import zope.sqlalchemy
>>
>> from .mymodel import Patient # flake8: noqa
>>
>> configure_mappers()
>>
>> def get_engine(settings, prefix='sqlalchemy.'):
>>  return engine_from_config(settings, prefix)
>>
>> def get_session_factory(engine):
>>  factory = sessionmaker()
>>  factory.configure(bind=engine)
>>  return factory
>>
>> def get_tm_session(session_factory, transaction_manager, request=None):
>> dbsession = session_factory(info={"request": request})
>>  zope.sqlalchemy.register(
>>  dbsession, transaction_manager=transaction_manager
>>  )
>>  return dbsession
>> def includeme(config):
>>
>>  settings = config.get_settings()
>>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>>
>>   config.include('pyramid_tm')
>>
>>  config.include('pyramid_retry')
>>
>>  # hook to share the dbengine fixture in testing
>>  dbengine = settings.get('dbengine')
>>  if not dbengine:
>>  dbengine = get_engine(settings)
>>
>>  session_factory = get_session_factory(dbengine)
>>  config.registry['dbsession_factory'] = session_factory
>>
>>  def dbsession(request):
>>  dbsession = request.environ.get('app.dbsession')
>>  if dbsession is None:
>>   dbsession = get_tm_session(
>>  session_factory, request.tm, request=request
>>   config.add_request_method(dbsession, reify=True)
>>
>> .
>>
>> #views/default.py 
>> from pyramid.view import view_config
>> from pyramid.response import Response
>> from sqlalchemy.exc import SQLAlchemyError
>> from pyramid.httpexceptions import HTTPFound
>> from ..models import Paciente
>> from ..models import get_tm_session
>> dbsession = get_tm_session
>>
>> @view_config(route_name='add', request_method='POST')
>> def add(request):
>> id=request.POST['id']
>> name=request.POST['name']
>> idade=request.POST['idade']
>> data_nascimento=request.POST['data_nascimento']
>> sexo=request.POST['sexo']
>> raca=request.POST['raca']
>> fone=request.POST['fone']
>> endereco=request.POST['endereco']
>> cpf=request.POST['cpf']
>> cns=request.POST['cns']
>> pacientes=Paciente(id=id, name=name, idade=idade, data_nascimento=
>> data_nascimento, sexo=sexo, 
>>raca=raca, fone=fone, endereco=endereco, cpf=
>> cpf, cns=cns)
>> dbsession.add(pacientes)
>> dbsession.commit()
>> return HTTPFound(location='http://localhost:6543/')
>>
>> Já fiz algumas alterações, mas sem sucesso.
>> ..
>> Em quinta-feira, 16 de novembro de 2023 às 12:00:38 UTC-3, Laurent 
>> Daverio escreveu:
>>
>>> Hello, don't you have, by any chance, a URL like this in your frontend? 
>>>
>>> '/mod_plataforma/mod1_plata

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Laurent Daverio
I think you want to write "request.dbsession.add(...)" instead.

Function dbsession is not meant to be used directly, only to create
"request.dbsession", via "config.add_request_method(dbsession,
reify=True)". This way, in your code, you never have to declare or import
"dbsession", just use "request.dbsession" directly.

Laurent.

Le jeu. 16 nov. 2023 à 20:25, Oberdan Santos  a
écrit :

> Sua dica esta correta.  Fiz algumas alterações e percebi avanços. No
> entanto estou com o seguinte erro:
> File "C:\Users\oberd\proj_piprdc\piprdc\piprdc\views\default.py", line 87,
> in add
> dbsession.add(pacientes)
> ^
> AttributeError: 'function' object has no attribute 'add'
>
>
> #models/__init__.py
>
> from sqlalchemy import engine_from_config
> from sqlalchemy.orm import sessionmaker
> from sqlalchemy.orm import configure_mappers
> from sqlalchemy_continuum.plugins import Plugin
> import zope.sqlalchemy
>
> from .mymodel import Patient # flake8: noqa
>
> configure_mappers()
>
> def get_engine(settings, prefix='sqlalchemy.'):
>  return engine_from_config(settings, prefix)
>
> def get_session_factory(engine):
>  factory = sessionmaker()
>  factory.configure(bind=engine)
>  return factory
>
> def get_tm_session(session_factory, transaction_manager, request=None):
> dbsession = session_factory(info={"request": request})
>  zope.sqlalchemy.register(
>  dbsession, transaction_manager=transaction_manager
>  )
>  return dbsession
> def includeme(config):
>
>  settings = config.get_settings()
>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>
>   config.include('pyramid_tm')
>
>  config.include('pyramid_retry')
>
>  # hook to share the dbengine fixture in testing
>  dbengine = settings.get('dbengine')
>  if not dbengine:
>  dbengine = get_engine(settings)
>
>  session_factory = get_session_factory(dbengine)
>  config.registry['dbsession_factory'] = session_factory
>
>  def dbsession(request):
>  dbsession = request.environ.get('app.dbsession')
>  if dbsession is None:
>   dbsession = get_tm_session(
>  session_factory, request.tm, request=request
>   config.add_request_method(dbsession, reify=True)
>
> .
>
> #views/default.py
> from pyramid.view import view_config
> from pyramid.response import Response
> from sqlalchemy.exc import SQLAlchemyError
> from pyramid.httpexceptions import HTTPFound
> from ..models import Paciente
> from ..models import get_tm_session
> dbsession = get_tm_session
>
> @view_config(route_name='add', request_method='POST')
> def add(request):
> id=request.POST['id']
> name=request.POST['name']
> idade=request.POST['idade']
> data_nascimento=request.POST['data_nascimento']
> sexo=request.POST['sexo']
> raca=request.POST['raca']
> fone=request.POST['fone']
> endereco=request.POST['endereco']
> cpf=request.POST['cpf']
> cns=request.POST['cns']
> pacientes=Paciente(id=id, name=name, idade=idade, data_nascimento=
> data_nascimento, sexo=sexo,
>raca=raca, fone=fone, endereco=endereco, cpf=
> cpf, cns=cns)
> dbsession.add(pacientes)
> dbsession.commit()
> return HTTPFound(location='http://localhost:6543/')
>
> Já fiz algumas alterações, mas sem sucesso.
> ..
> Em quinta-feira, 16 de novembro de 2023 às 12:00:38 UTC-3, Laurent Daverio
> escreveu:
>
>> Hello, don't you have, by any chance, a URL like this in your frontend?
>>
>> '/mod_plataforma/mod1_plataforma/recepx/${save_url}'
>>
>> If so, you should replace the simple quotes with backticks:
>>
>> `/mod_plataforma/mod1_plataforma/recepx/${save_url}`
>>
>> To me, it looks like a Javascript typo, not a Pyramid error.
>>
>> Laurent.
>>
>> Le jeu. 16 nov. 2023 à 14:52, Oberdan Santos  a
>> écrit :
>> >
>> > Hello!! I am facing a problem when trying to post data to the database.
>> When asking to send the application data I receive the following: Squashed
>> pyramid.httpexceptions.HTTPNotFound at
>> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>> >
>> > . Below is information about my files.
>> >
>> > # piprdc/piprdc/routes.py
>> > def includeme(config):
>> > config.add_static_view('static', 'static', cache_max_age=3600)
>> > config.add_route('home', '/')
>> > config.add_route('modulo_x', '/mod_plataforma')
>> > config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>> > config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>> > config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>> > config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>> > config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>> > config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>> > config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>> > config.add_route('add_reg',
>> '

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
Sua dica esta correta.  Fiz algumas alterações e percebi avanços. No 
entanto estou com o seguinte erro:
File "C:\Users\oberd\proj_piprdc\piprdc\piprdc\views\default.py", line 87, 
in add
dbsession.add(pacientes)
^
AttributeError: 'function' object has no attribute 'add'


#models/__init__.py

from sqlalchemy import engine_from_config
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import configure_mappers
from sqlalchemy_continuum.plugins import Plugin
import zope.sqlalchemy

from .mymodel import Patient # flake8: noqa

configure_mappers()

def get_engine(settings, prefix='sqlalchemy.'):
 return engine_from_config(settings, prefix)

def get_session_factory(engine):
 factory = sessionmaker()
 factory.configure(bind=engine)
 return factory

def get_tm_session(session_factory, transaction_manager, request=None):
dbsession = session_factory(info={"request": request})
 zope.sqlalchemy.register(
 dbsession, transaction_manager=transaction_manager
 )
 return dbsession
def includeme(config):
   
 settings = config.get_settings()
 settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
   
  config.include('pyramid_tm')

 config.include('pyramid_retry')

 # hook to share the dbengine fixture in testing
 dbengine = settings.get('dbengine')
 if not dbengine:
 dbengine = get_engine(settings)

 session_factory = get_session_factory(dbengine)
 config.registry['dbsession_factory'] = session_factory
   
 def dbsession(request):
 dbsession = request.environ.get('app.dbsession')
 if dbsession is None:
  dbsession = get_tm_session(
 session_factory, request.tm, request=request
  config.add_request_method(dbsession, reify=True)

.

#views/default.py 
from pyramid.view import view_config
from pyramid.response import Response
from sqlalchemy.exc import SQLAlchemyError
from pyramid.httpexceptions import HTTPFound
from ..models import Paciente
from ..models import get_tm_session
dbsession = get_tm_session

@view_config(route_name='add', request_method='POST')
def add(request):
id=request.POST['id']
name=request.POST['name']
idade=request.POST['idade']
data_nascimento=request.POST['data_nascimento']
sexo=request.POST['sexo']
raca=request.POST['raca']
fone=request.POST['fone']
endereco=request.POST['endereco']
cpf=request.POST['cpf']
cns=request.POST['cns']
pacientes=Paciente(id=id, name=name, idade=idade, data_nascimento=
data_nascimento, sexo=sexo, 
   raca=raca, fone=fone, endereco=endereco, cpf=cpf, 
cns=cns)
dbsession.add(pacientes)
dbsession.commit()
return HTTPFound(location='http://localhost:6543/')

Já fiz algumas alterações, mas sem sucesso.
..
Em quinta-feira, 16 de novembro de 2023 às 12:00:38 UTC-3, Laurent Daverio 
escreveu:

> Hello, don't you have, by any chance, a URL like this in your frontend?
>
> '/mod_plataforma/mod1_plataforma/recepx/${save_url}'
>
> If so, you should replace the simple quotes with backticks:
>
> `/mod_plataforma/mod1_plataforma/recepx/${save_url}`
>
> To me, it looks like a Javascript typo, not a Pyramid error.
>
> Laurent.
>
> Le jeu. 16 nov. 2023 à 14:52, Oberdan Santos  a écrit 
> :
> >
> > Hello!! I am facing a problem when trying to post data to the database. 
> When asking to send the application data I receive the following: Squashed 
> pyramid.httpexceptions.HTTPNotFound at 
> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
> >
> > . Below is information about my files.
> >
> > # piprdc/piprdc/routes.py
> > def includeme(config):
> > config.add_static_view('static', 'static', cache_max_age=3600)
> > config.add_route('home', '/')
> > config.add_route('modulo_x', '/mod_plataforma')
> > config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
> > config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
> > config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
> > config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
> > config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
> > config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
> > config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
> > config.add_route('add_reg', 
> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
> > config.add_route('query', '/mod_plataforma/mod1_plataforma/recepx/query')
> >
> > ..
> >
> > #views/default.py
> > from pyramid.view import view_config
> > from pyramid.response import Response
> > from sqlalchemy.exc import SQLAlchemyError, DBAPIError
> > from pyramid.httpexceptions import HTTPFound
> > from .. import models
> > from ..models import Patient
> > from ..models import get_tm_session
> > dbsession = get_tm_session
> >
> > view_config(route_name='add_reg', 
> renderer='piprdc:tem

Re: [pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Laurent Daverio
Hello, don't you have, by any chance, a URL like this in your frontend?

   '/mod_plataforma/mod1_plataforma/recepx/${save_url}'

If so, you should replace the simple quotes with backticks:

  `/mod_plataforma/mod1_plataforma/recepx/${save_url}`

To me, it looks like a Javascript typo, not a Pyramid error.

Laurent.

Le jeu. 16 nov. 2023 à 14:52, Oberdan Santos  a écrit :
>
> Hello!! I am facing a problem when trying to post data to the database. When 
> asking to send the application data I receive the following: Squashed 
> pyramid.httpexceptions.HTTPNotFound at 
> http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D
>
> . Below is information about my files.
>
> # piprdc/piprdc/routes.py
> def includeme(config):
>  config.add_static_view('static', 'static', cache_max_age=3600)
>  config.add_route('home', '/')
>  config.add_route('modulo_x', '/mod_plataforma')
>  config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
>  config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
>  config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
>  config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
>  config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
>  config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
>  config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
>  config.add_route('add_reg', 
> '/mod_plataforma/mod1_plataforma/recepx/add_reg')
>  config.add_route('query', '/mod_plataforma/mod1_plataforma/recepx/query')
>
> ..
>
> #views/default.py
> from pyramid.view import view_config
> from pyramid.response import Response
> from sqlalchemy.exc import SQLAlchemyError, DBAPIError
> from pyramid.httpexceptions import HTTPFound
> from .. import models
> from ..models import Patient
> from ..models import get_tm_session
> dbsession = get_tm_session
>
> view_config(route_name='add_reg', renderer='piprdc:templates/reg_pacx.jinja2')
> def add_reg(request):
>  save_url = request.route_url('add_reg')
>  request.route_url('query')
>  print('RUN')
>  if request.params:
>  id=request.params['id']
>  name=request.params['name']
>  age=request.params['age']
>  birth_date=request.params['birth_date']
>  sex=request.params['sex']
>  race=request.params['race']
>  fone=request.params['fone']
>  address=request.params['address']
>  cpf=request.params['cpf']
>  cns=request.params['cns']
>  patients=Patient(id=id, name=name, age=age, date_birth=date_birth, 
> sex=sex,
> race=race, phone=phone, address=address, cpf=cpf, 
> cns=cns)
>  try:
>  dbsession.add_reg(patients)
>  return HTTPFound(location=request.route_url('query'))
>  except DBAPIError:
>  return Response("DB ERROR")
>  else:
>  print('DO NOT RUN')
>  return{'save_url': save_url, 'project': 'piprdc'}
>
> 
>
> #templates/reg_pacx.jinja2
> {% extends "basefull.jinja2" %}
> {% block container %}
> 
> 
> Patient registration
> 
> Patient Id:  
> Patient Name:  
> Age:  
> Date of birth:  
> Gender:  
> Race:  
> Phone:  
> Address:  
> CPF:  
> CNS:  
>  
> 
> 
> {% endblock container %}
>
> 
> #models/__init__.py
>
> from sqlalchemy import engine_from_config
> from sqlalchemy.orm import sessionmaker
> from sqlalchemy.orm import configure_mappers
> from sqlalchemy_continuum.plugins import Plugin
> import zope.sqlalchemy
>
> from .mymodel import Patient # flake8: noqa
>
> configure_mappers()
>
> def get_engine(settings, prefix='sqlalchemy.'):
>  return engine_from_config(settings, prefix)
>
> def get_session_factory(engine):
>  factory = sessionmaker()
>  factory.configure(bind=engine)
>  return factory
>
> def get_tm_session(session_factory, transaction_manager, request=None):
> dbsession = session_factory(info={"request": request})
>  zope.sqlalchemy.register(
>  dbsession, transaction_manager=transaction_manager
>  )
>  return dbsession
> def includeme(config):
>
>  settings = config.get_settings()
>  settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
>
>   config.include('pyramid_tm')
>
>  config.include('pyramid_retry')
>
>  # hook to share the dbengine fixture in testing
>  dbengine = settings.get('dbengine')
>  if not dbengine:
>  dbengine = get_engine(settings)
>
>  session_factory = get_session_factory(dbengine)
>  config.registry['dbsession_factory'] = session_factory
>
>  def dbsession(request):
>  dbsession = request.environ.get('app.dbsession')
>  if dbsession is None:
>   dbsession = get_tm_session(
>  session_factory, request.tm, request=reque

[pylons-discuss] REF. Problem registering data in the bank

2023-11-16 Thread Oberdan Santos
Hello!! I am facing a problem when trying to post data to the database. 
When asking to send the application data I receive the following: Squashed 
pyramid.httpexceptions.HTTPNotFound at 
http://localhost:6543/mod_plataforma/mod1_plataforma/recepx/$%7Bsave_url%7D

. Below is information about my files.

# piprdc/piprdc/routes.py
def includeme(config):
 config.add_static_view('static', 'static', cache_max_age=3600)
 config.add_route('home', '/')
 config.add_route('modulo_x', '/mod_plataforma')
 config.add_route('modulo1', '/mod_plataforma/mod1_plataforma')
 config.add_route('modulo2', '/mod_plataforma/mod2_plataforma')
 config.add_route('modulo3', '/mod_plataforma/mod3_plataforma')
 config.add_route('modulo4', '/mod_plataforma/mod4_plataforma')
 config.add_route('modulo5', '/mod_plataforma/mod5_plataforma')
 config.add_route('modulo6', '/mod_plataforma/mod6_plataforma')
 config.add_route('abcx', '/mod_plataforma/mod1_plataforma/recepx')
 config.add_route('add_reg', 
'/mod_plataforma/mod1_plataforma/recepx/add_reg')
 config.add_route('query', 
'/mod_plataforma/mod1_plataforma/recepx/query')

..

#views/default.py
from pyramid.view import view_config
from pyramid.response import Response
from sqlalchemy.exc import SQLAlchemyError, DBAPIError
from pyramid.httpexceptions import HTTPFound
from .. import models
from ..models import Patient
from ..models import get_tm_session
dbsession = get_tm_session

view_config(route_name='add_reg', 
renderer='piprdc:templates/reg_pacx.jinja2')
def add_reg(request):
 save_url = request.route_url('add_reg')
 request.route_url('query')
 print('RUN')
 if request.params:
 id=request.params['id']
 name=request.params['name']
 age=request.params['age']
 birth_date=request.params['birth_date']
 sex=request.params['sex']
 race=request.params['race']
 fone=request.params['fone']
 address=request.params['address']
 cpf=request.params['cpf']
 cns=request.params['cns']
 patients=Patient(id=id, name=name, age=age, date_birth=date_birth, 
sex=sex,
race=race, phone=phone, address=address, 
cpf=cpf, cns=cns)
 try:
 dbsession.add_reg(patients)
 return HTTPFound(location=request.route_url('query'))
 except DBAPIError:
 return Response("DB ERROR")
 else:
 print('DO NOT RUN')
 return{'save_url': save_url, 'project': 'piprdc'}



#templates/reg_pacx.jinja2
{% extends "basefull.jinja2" %}
{% block container %}


Patient registration

Patient Id:  
Patient Name:  
Age:  
Date of birth:  
Gender:  
Race:  
Phone:  
Address:  
CPF:  
CNS:  
 


{% endblock container %}


#models/__init__.py

from sqlalchemy import engine_from_config
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import configure_mappers
from sqlalchemy_continuum.plugins import Plugin
import zope.sqlalchemy

from .mymodel import Patient # flake8: noqa

configure_mappers()

def get_engine(settings, prefix='sqlalchemy.'):
 return engine_from_config(settings, prefix)

def get_session_factory(engine):
 factory = sessionmaker()
 factory.configure(bind=engine)
 return factory

def get_tm_session(session_factory, transaction_manager, request=None):
dbsession = session_factory(info={"request": request})
 zope.sqlalchemy.register(
 dbsession, transaction_manager=transaction_manager
 )
 return dbsession
def includeme(config):
   
 settings = config.get_settings()
 settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'

  config.include('pyramid_tm')

 config.include('pyramid_retry')

 # hook to share the dbengine fixture in testing
 dbengine = settings.get('dbengine')
 if not dbengine:
 dbengine = get_engine(settings)

 session_factory = get_session_factory(dbengine)
 config.registry['dbsession_factory'] = session_factory

 def dbsession(request):
 dbsession = request.environ.get('app.dbsession')
 if dbsession is None:
  dbsession = get_tm_session(
 session_factory, request.tm, request=request
  config.add_request_method(dbsession, reify=True)

Any help is welcome.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/6c951fdb-95ea-440f-b3f7-81f93845dacfn%40googlegroups.com.