python - Why can't Pyramid locate this template file? -
i installed pyramid framework (following tutorial. created new project starting "alchemy" scafffold (pcreate -s alchemy myproject) , ran setup.py script. reason, when run pserve, toplevellookupexception, stating can't locate template uri 'pyramid_debugtoolbar:templates/exception_summary.dbtmako':
toplevellookupexception: can not locate template uri 'pyramid_debugtoolbar:templates/exception_summary.dbtmako' the file 'mytemplate.pt' in directory, reason still error.
here init.py:
from pyramid.config import configurator sqlalchemy import engine_from_config .models import ( dbsession, base, ) def main(global_config, **settings): """ function returns pyramid wsgi application. """ engine = engine_from_config(settings, 'sqlalchemy.') dbsession.configure(bind=engine) base.metadata.bind = engine config = configurator(settings=settings) config.add_static_view('static', 'static', cache_max_age=3600) config.add_route('home', '/') config.scan() return config.make_wsgi_app() here views.py:
from pyramid.response import response pyramid.view import view_config sqlalchemy.exc import dbapierror .models import ( dbsession, mymodel, ) @view_config(route_name='home', renderer='/templates/mytemplate.pt') def my_view(request): try: 1 = dbsession.query(mymodel).filter(mymodel.name == 'one').first() except dbapierror: return response(conn_err_msg, content_type='text/plain', status_int=500) return {'one': one, 'project': 'triumph'} conn_err_msg = """error""" here models.py file:
from sqlalchemy import ( column, integer, text, ) sqlalchemy.ext.declarative import declarative_base sqlalchemy.orm import ( scoped_session, sessionmaker, ) zope.sqlalchemy import zopetransactionextension dbsession = scoped_session(sessionmaker(extension=zopetransactionextension())) base = declarative_base() class mymodel(base): __tablename__ = 'models' id = column(integer, primary_key=true) name = column(text, unique=true) value = column(integer) def __init__(self, name, value): self.name = name self.value = value here development.ini file:
### # app configuration # http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html ### [app:main] use = egg:triumph pyramid.reload_templates = true pyramid.debug_authorization = false pyramid.debug_notfound = false pyramid.debug_routematch = false pyramid.default_locale_name = en pyramid.includes = pyramid_debugtoolbar # default, toolbar appears clients ip addresses # '127.0.0.1' , '::1'. # debugtoolbar.hosts = 127.0.0.1 ::1 ### # wsgi server configuration ### [server:main] use = egg:waitress#main host = 0.0.0.0 port = 6543 ### # logging configuration # http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html ### [loggers] keys = root, triumph [handlers] keys = console [formatters] keys = generic [logger_root] level = info handlers = console [logger_triumph] level = debug handlers = qualname = triumph [handler_console] class = streamhandler args = (sys.stderr,) level = notset formatter = generic [formatter_generic] format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadname)s] %(message)s
according official docs (pyramid 1.4 - basic layout) explaining basic layout of pyramid application need change view configuration line shown below - or said: remove leading slash template path.
views.py:
@view_config(route_name='home', renderer='templates/mytemplate.pt') def my_view(request): temporarily disabling pyramid debugtoolbar well. have included 1 of these 2 ways (docs). either these settings fixed or disable debugging purposes.
Comments
Post a Comment