2015-06-15 6 views
0

Это действительно действительно подталкивает меня.pyramid_mako не находит шаблоны. есть ли крючок, чтобы найти вызываемый каталог/файл?

Начните с того, что все работает отлично на моей локальной машине. На сервере, однако, все, что я делаю, попадает в «Не удается найти шаблон для uri: ...»

На моей локальной машине я использую виртуальную машину Linux в Mac OS X. Я рассмотрел проблемы чувствительности к регистру между именами файлов. Нет кубиков.

У меня было нормально работать, вызывая файлы локально.

Чтобы подтвердить, я переключился на конфигурацию mako.directories = app:templates и переместил мою папку шаблонов из моего пакета app.views в папку с шаблоном приложения: это новые имена папок в нижнем регистре.

В этой конфигурации не работает.

Я решил быть более эксплицитным.

Так что я назвал мои Мако файлы, выполнив:

@view_config(renderer='myapp:templates/template1.mak') 
def template1(self): 
     pass 

Еще нет костей.

Пробовал быть явным локально.

@view_config(renderer='templates/template2.mak') 
def template2(self): 
     pass 

По-прежнему не удается.

И, конечно, при использовании в конфигурации, он все еще работает с дозировкой.

@view_config(renderer='template3.mak') 
def template3(self): 
     pass 

Есть ли способ подключиться к этому, чтобы увидеть конкретный путь к файлу? Что-то намного больше, чем `templates/template.mak '?

Для справки это то, что URI Int пирамида TopLevelException выглядит respectivley:

Exception 
========= 
"Can not locate template for uri %r" % uri) 
mako.exceptions.TopLevelLookupException: Can not locate template for uri 
======== 

'app:templates/template1.mak  
'app.views:templates/template2.mak' 
+0

Просто с самого начала. Вы уверены, что сервер использует тот же файл конфигурации, что и локальный? Обычно сервер настроен на использование чего-то типа production.ini. Я бы как-то печатал настройки для регистрации и подтверждения наличия файлов mako.directories и является правильным. –

+0

Я думаю, что конфигурация актива должна работать. К чему вы развертываете? Что-то специализированное, как героку? –

+0

@plantian - на самом деле я не смог использовать активы в пирамидах, потому что я был разворачиван прямо на nginx. это сервер im imanging. прямо сейчас, делая чистый клон в соответствии с предложениями боссмана с новыми разрешениями, которые отражают моего текущего пользователя. pserve работает с sudo, потому что и пытались использовать одного и того же пользователя для pyenv – ovatsug25

ответ

0

я понял, почему это не работает!

Я запускаю python setup.py install на своем сервере, прежде чем загружать приложение Pyramid. Весь исходный код python перемещается в мою папку site-packages в моем VENV, но (что важно) мои файлы MAKO там не перемещаются.

Когда я запускаю python setup.py develop, потому что мои пакеты установлены как символические ссылки, мои файлы MAKO по-прежнему живут в моем проекте.

Думал, что имя укажет иначе, проекты пирамиды, которые используют файлы не python (например, шаблоны), не могут быть установлены! Они должны поддерживаться в этом состоянии развития.

Если мы сможем их запустить с python setup.py develop, пожалуйста, укажите это мне в комментариях! Возможно, я что-то пропустил.

Edit 1:

Это идет в правильном направлении, но я не уверен, как использовать его:

https://docs.python.org/2/distutils/setupscript.html#installing-package-data

(Edit 3): Including non-Python files with setup.py

Edit 2 :

Это ко мне в Preparing a pyramid app for production

+0

@plantian -figured it out. проверьте мой ответ! – ovatsug25

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

  • Нет связанных вопросов^_^