首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Django视图导入分布式python包

从Django视图导入分布式python包
EN

Stack Overflow用户
提问于 2013-05-12 23:00:52
回答 1查看 92关注 0票数 0

我正在做一个Django项目,在那里我需要从Amazon产品广告API中获得搜索结果。我已经成功地在PHP中使用了API,但现在正在开发我的第一个Django应用程序。我已经注册了亚马逊的凭证,钥匙,密匙等等。

作为一种快捷方式,我在这里找到并安装了一个分布式Python包:https://bitbucket.org/basti/python-amazon-product-api/overview

问题1:在何处以及如何访问Django内的非Django特定的包?是否需要在设置中添加对包的引用?包示例文档包括一个import语句,它似乎在Django shell中工作(至少没有错误信息):

代码语言:javascript
复制
>>>from amazonproduct import API
>>>

问题2:当我想从Django视图和模板发送已安装的package搜索查询时,如何/在哪里导入包的对象?

我将Python包安装在与Django相同的Python本地实例中(在MacOSX10.8.2上运行Python2.7和Django 1.5 )。

显然,我对Django和Python都是新手。我已经能够让Django模型、视图和模板正常工作,我已经编写了所有前端脚本来解析和显示来自AmazonProduct广告API的XML结果。Python包似乎满足了我的需求。但是现在我只需要弄清楚如何利用包的能力来创建一个签名的请求,调用亚马逊的RESTful服务并解析结果的XML。

EN

回答 1

Stack Overflow用户

发布于 2013-05-12 23:16:55

你似乎对python的包和Django应用程序有点困惑。如您所知,Django是用Python编写的web框架,因此,任何python包/模块/文件都可以在Django的代码中导入。

Django应用程序也是python包,这就是为什么您可以做像from my_app import models这样的东西来导入my_app模型。区别在于,一般情况下,Django应用程序附带了一些django特定文件(models.py, views.py, urls.py等),因此需要将它们添加到settings.py中的INSTALLED_APPS中,以便Django完成应用程序需要完成的工作(例如,在models.py中生成表)。

关于您的问题,这个amazonproduct包确实是一个package,但不是Django应用程序,-it没有任何views.pymodels.py。它只是一个python包,它提供了一个查询Amazon数据的友好界面。这意味着您不必将其附加到INSTALLED_APPS中。您想要使用它的是在代码中需要它的任何地方导入它。我认为可能是在views.py中,这是您通常处理应用程序逻辑的地方。

恢复:在需要从amazonproduct包访问方法或类或函数的地方,只需正常导入它(如您在回答中所述),然后实例化对象或调用您通常需要的方法。传递您正在处理的文件中收集的数据。

希望这能给你一些光明。如果您对Python的包和模块有任何其他疑问,请参考这个doc会话,它是,非常,有很好的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16512906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档