我刚刚安装了金字塔框架(在tutorial之后)。我创建了一个以“炼金术”scafffold(pcreate-s alchemy myproject)开始的新项目,并运行设置.py脚本。由于某些原因,当我运行pserve时,我得到一个TopLevelLookupException,声明它找不到uri'pyramid_deb的模板ugtoolbar:templates/exception_summary.dbtmako':
TopLevelLookupException: Can not locate template for uri 'pyramid_debugtoolbar:templates/exception_summary.dbtmako'
文件'我的模板.pt'在目录中,但由于某些原因,我仍然收到此错误。在
以下是init。py:
^{pr2}$这是视图.py公司名称:
from pyramid.response import Response
from pyramid.view import view_config
from sqlalchemy.exc import DBAPIError
from .models import (
DBSession,
MyModel,
)
@view_config(route_name='home', renderer='/templates/mytemplate.pt')
def my_view(request):
try:
one = 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"""
这是模型.py文件:
from sqlalchemy import (
Column,
Integer,
Text,
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
)
from 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
这是开发.ini文件:
###
# 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
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::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
根据官方文档(Pyramid 1.4 - Basic Layout)解释金字塔应用程序的基本布局,您需要将视图配置更改为如下所示的行,或者简单地说:从模板路径中删除前导斜杠。在
在视图.py公司名称:
暂时禁用金字塔调试工具栏也有帮助。实际上,您已经用以下两种方法之一(docs)包含了它。可以修复这些设置,也可以将其禁用以进行调试。在
相关问题 更多 >
编程相关推荐