我已经接管了一个 django (1.1) 项目,该项目安装了许多 django 应用程序作为鸡蛋(在 /usr/lib/python2.6/site-packages/ 中)。除了 django 管理文档之外,这在任何地方都可以正常工作。尝试在此处查看标签或过滤器的文档让我:
File "/usr/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/contrib/admindocs/views.py" in load_all_installed_template_libraries
313. libraries = [os.path.splitext(p)[0] for p in os.listdir(e) if p.endswith('.py') and p[0].isalpha()]
Exception Type: OSError at /admin/doc/tags/
Exception Value: (20, 'Not a directory')
在哪里
e = '/usr/lib/python2.6/site-packages/django_tinymce-1.5-py2.6.egg/tinymce/templatetags'
所以基本上 django 管理文档不能自动加载鸡蛋,因为它们是 zip 档案,而不是目录。
做了一些搜索后,我认为我的选择是:
- 将鸡蛋拆包到位
- 适应http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#using-eggs-with-mod-python(我正在使用 mod_wsgi)
- 破解 django admindocs 代码以正确处理鸡蛋
这些可能都不是真的很难,但在生产服务器上都没有完全吸引人的地方。有其他人处理过这个吗?你会推荐什么?