2013-05-12 3 views
0

Я работаю над проектом Django, где мне нужно получить результаты поиска из API рекламы продукта Amazon. Я успешно использовал API в PHP, но теперь я работаю над своим первым приложением Django. Я подписался на и имеют Amazon полномочия, ключи, секретные ключи и т.д.Импорт распределенного пакета python из представления Django

в качестве ярлыка, я нашел и установил распределенную Python пакет здесь: https://bitbucket.org/basti/python-amazon-product-api/overview

ВОПРОС 1: Где и как сделать Я обращаюсь к пакету Python, специфичному для Django, в Django? Нужно ли добавлять ссылку на пакет в настройках? Примерные пакет документы не включают в себя оператор импорта, который, кажется, работает в оболочке Django (по крайней мере, не сообщения об ошибке):

>>>from amazonproduct import API 
>>> 

ВОПРОС 2: Когда я хочу, чтобы отправить установленный пакет Python поисковый запрос из представление и шаблон Django, как/где я могу импортировать объекты пакета?

У меня есть пакет Python, установленный в том же локальном экземпляре Python, что и Django (запуск Python 2.7 и Django 1.5 на Mac OS X 10.8.2).

Я, очевидно, новичок как в Django, так и в Python. Я смог получить модели Django, представления и шаблоны, и у меня есть все интерфейсные скрипты, написанные для анализа и отображения XML-результатов из API рекламы продукта Amazon. И пакет Python, похоже, имеет все, что мне нужно. Но теперь мне просто нужно выяснить, как использовать возможности пакета для создания подписанного запроса, вызвать службу RESTful Amazon и проанализировать полученный XML.

ответ

1

Кажется, вы немного смущены о пакетах python и приложениях Django. Как вы знаете, Django - это веб-фреймворк, написанный на Python, поэтому любой пакет python/module/file может быть импортирован в ваш код Django.

Приложения Django также являются пакетами python, поэтому вы можете делать такие вещи, как from my_app import models, чтобы импортировать модели my_app. Разница в том, что, как правило, приложение Django поставляется с некоторыми django специфическими файлами (models.py, views.py, urls.py и т. Д.), Поэтому вам нужно добавить их в свой INSTALLED_APPS в свой settings.py, чтобы Django делал то, что нужно для приложения (генерирование таблиц в нем - models.py).

Что касается вашего вопроса, что amazonproduct пакет это действительно пакет Python, но не приложение Django -это не имеет никакого views.py ни models.py. Это всего лишь пакет python, который обеспечивает дружественный интерфейс для запроса данных Amazon. Это означает, что вам не нужно добавлять его к вашему INSTALLED_APPS. Что вы хотите с ним сделать, это импортировать его где бы вы ни находились вам это нужно в вашем коде. Я думаю, вероятно, находится внутри views.py, где вы обычно обрабатываете логику своего приложения.

Возобновление: везде, где вам необходимо получить доступ к методам или классам или функциям из вашего пакета amazonproduct, вы просто импортируете его как обычно (как описано в вашем ответе), а затем создайте объекты или вызовите нужные вам методы. Передача данных, которые вы собираете в файле, в котором работаете.

Надеюсь, что это дает некоторый свет. Если у вас есть какие-либо другие сомнения относительно пакетов и модулей Python, пожалуйста, обратитесь к этому doc session, который очень хорошо документирован.

+0

Спасибо @PauloBu за указатель на сессию doc на модулях Python. Мне нужен более подробный обзор того, как Python работал за пределами Django, и ваши объяснения и ссылки дали мне правильный путь. Я собираюсь проработать его на этой неделе и отчитаю свое окончательное решение. – PchopL

+0

Я рад, что смогу помочь. Пожалуйста :) –

Смежные вопросы