Django на Heroku, тег шаблона URL делает объект ParseResult не вызываемым - PullRequest
4 голосов
/ 20 марта 2012

Кто-нибудь знает, что Heroku меняет при развертывании?У меня есть локальная машина разработки с Ubuntu 11.10, и мой проект установлен в venv, все пакеты управляются через pip.Соответствующий файл require.txt находится в моем репозитории и отправляется в Heroku по запросу.И мой локальный компьютер, и Heroku обращаются к одному и тому же экземпляру RDS на AWS.

Локальный запуск сервера Django dev (manage.py runserver) приводит к рабочей странице.Попытка запустить (через мой Procfile) сервер разработки на Heroku приводит к ошибке в шаблоне {% url foobar%} следующим образом:

Caught TypeError while rendering: 'ParseResult' object is not callable

My needs.txt содержит следующее:

Django==1.3.1
MySQL-python==1.2.3
PIL==1.1.7
amqplib==1.0.2
anyjson==0.3.1
boto==2.2.2
celery==2.5.1
distribute==0.6.24
django-celery==2.5.1
django-kombu==0.9.4
django-picklefield==0.2.0
django-piston==0.2.3
gevent==0.13.6
greenlet==0.3.4
gunicorn==0.14.2
httplib2==0.7.4
kombu==2.1.1
python-dateutil==1.5
wsgiref==0.1.2
zencoder==0.4

У кого-нибудь есть идея?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Хотя я боюсь, что не смогу дать подробное представление о вашей проблеме, что касается вопроса «Кто-нибудь знает, что Heroku меняет при развертывании?», То для приложений Django это просто следующее:

Конфигурация Heroku DB, добавленная к вашим settings.py

Это просто переопределяет вашу существующую настройку DATABASES, вытягивая DATABASE_URL в среде и анализируя ее соответственно.

Basic Procfile автоматически генерируется, если у вас его еще нет

Не полагайтесь на это, поскольку сгенерированный Procfile просто использует сервер разработки Django (замените его, например, на один работающий gunicorn ), но это все, что вам нужно для запуска базового проекта.

5 МБ (бесплатно) добавлена ​​общая база данных

Это простогарантирует, что у вашего приложения будет база данных для доступа.


Теперь я не вижу, как какой-либо из них может вызвать проблемы, с которыми вы сталкиваетесь, но у вас, похоже, эта сортировка и это хорошо.

0 голосов
/ 21 марта 2012

У меня была похожая проблема (на самом деле в urls.py, а не в шаблоне рендеринга) при использовании django-поршня.Мне удалось это исправить, изменив

from django.conf.urls.defaults import url

на

from django.conf.urls.defaults import url as django_url

, а затем изменив все директивы url () в urlpatterns на django_url ().

Это такжеисправил шаблон, который я видел на страницах администратора.Я не уверен, что это одно и то же, но может быть плодотворным расследованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...