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 %}
> <html>
> <body>
> <h1><span class="font-semi-bold">Patient registration</span></h1>
> <form action="${save_url}" method="POST">
> <p>Patient Id: <input type="Integer" name="id"/> </p>
> <p>Patient Name: <input type="text" name="name"/> </p>
> <p>Age: <input type="Integer" name="age"/> </p>
> <p>Date of birth: <input type="Integer" name="date_birth"/> </p>
> <p>Gender: <input type="text" name="sex"/> </p>
> <p>Race: <input type="text" name="breed"/> </p>
> <p>Phone: <input type="text" name="phone"/> </p>
> <p>Address: <input type="text" name="address"/> </p>
> <p>CPF: <input type="Integer" name="cpf"/> </p>
> <p>CNS: <input type="Integer" name="cns"/> </p>
> <p><input type="submit" value="Submit"> </p>
> </body>
> </html>
> {% 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
>
> <https://groups.google.com/d/msgid/pylons-discuss/6c951fdb-95ea-440f-b3f7-81f93845dacfn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
--
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/efd616dd-f1c7-4c9a-b389-033682c74389n%40googlegroups.com.