在django中导入openpyxl

时间:2016-05-05 23:09:23

标签: python django import openpyxl

我是Python和Django的新手。我将python包(openpyxl)集成到我的django应用程序时遇到问题。我想将这些文件的方法用到我的views.py文件中。

我的问题首先是我不知道将包含所有文件的openpyxl文件夹放在文件层次结构中的最佳位置。 我的层次结构如下所示: http://imgur.com/t4iOX98

它放置得好吗?我应该把它放在国际文件夹之外吗?在carte_interactive文件夹中?

我最大的问题是在openpyxl的__init__.py内。我得到像这样的错误行:
从openpyxl.xml导入LXML

如果没有解析引用LXML,但实际上是在openpyxl的xml文件中定义的。 这是我的错误文件放置造成的吗?或者是Django?还是openpyxl的错?有人有想法吗?

你可以在这里看到openpyxl的源文件,我在这里下载它们: https://bitbucket.org/openpyxl/openpyxl/src

如果您需要更多详情,请询问!
提前谢谢!

2 个答案:

答案 0 :(得分:0)

我赞赏你在成为Python新手的同时学习Django的热情。也就是说,你现在设置的方式将使你的生活变得不必要地难以管理。

我首先建议您阅读best practices for setting up a Django project。只是快速谷歌搜索“Django项目布局最佳实践”将为您提供大量资源,但他们基本上都会告诉您在上面的答案中做什么。

第二个非常基本的事情是使用pip to install and use other python packages。这对于django项目尤为重要,因为Django之外通常有很多依赖项。 Pip是一个安装extraaly python包的程序。它们安装在PYTHONPATH中,这只是磁盘上的文件路径列表,其中python将查找其他软件包。如果你在* NIX系统上,这通常是/usr/lib/python2.7/。一旦你的python路径中有了某些东西,你就可以从任何一段代码中使用你通过python import system安装的其他库。基本上,所有这些或多或少都是通过PYTHONPATHs中的每个位置查看您尝试导入的库。

最后,关于lxml,你需要通过apt或其他一些软件包安装程序来安装它。 (例如,在ubuntu上,apt install python-lxml

为了跟踪所有外部python依赖项,将它们填入顶级目录中名为“requirements.txt”的文件中。对于Django项目来说,这是一个非常标准的事情,所以不要担心在项目中发送包含所有依赖项的代码。

答案 1 :(得分:0)

谢谢你们所有人!我使用的是Jetbrains Pycharm,当我写import openpyxl时,它让我选择安装软件包。我认为它是用pip做的,它肯定会有相同的效果。我把包放在requirements.txt中,这样其他用户只需要安装这个要求!

现在有效!并感谢最佳实践的链接。我读了那个!