我现在不知道为什么我似乎从Apache24错误日志中得到以下错误:
mod_wsgi (pid=9036): Exception occurred processing WSGI script 'C:/Apache24/htdocs/tools/ixg_dashboard/ixg_dashboard.wsgi'.
Traceback (most recent call last):
File "C:/Apache24/htdocs/tools/ixg_dashboard/ixg_dashboard.wsgi", line 242, in application
env = Environment(loader=PackageLoader('C:\\htdocs\\tools\\ixg_dashboard\\ixg_dashboard', 'templates'))
File "C:\\Python27\\lib\\site-packages\\jinja2\\loaders.py", line 224, in __init__
provider = get_provider(package_name)
File "C:\\Python27\\lib\\site-packages\\pkg_resources\\__init__.py", line 419, in get_provider
__import__(moduleOrReq)
ImportError: Import by filename is not supported.
.wsgi文件很长,但我会提供相关的代码部分。进口如下:
import cgi, urlparse, jinja2, os
from pymongo import MongoClient
from sets import Set
from jinja2 import Environment, PackageLoader
我认为问题可能存在的实际代码是:
env = Environment(loader=PackageLoader('C:\htdocs\tools\ixg_dashboard\ixg_dashboard', 'templates'))
table_template = env.get_template('table.html')
print table_template.render()
代码是由以前在这里的人创建的,从来没有让它完全在服务器上工作但是能够让它在本地运行,这正是我想要做的。是否有可能问题出在Apache的httpd.config文件和代码本身。我试着环顾四周,找不到任何有用的东西。它也可能是jinja,但我不确定。
答案 0 :(得分:0)
PackageLoader
定义为:
class jinja2.PackageLoader(package_name,package_path ='templates',encoding ='utf-8')
所以第一个参数应该是包名,而不是路径。
检查Jinja2文档,以便更好地了解您应该为软件包名称提供的内容。