2011-08-03 23 views
5

Đối với một số lý do, Jinja tuyên bố rằng nó là không thể tìm thấy một mẫu mà tôi đã xác định trong nhiệm vụ Vải của tôi:Vải và Jinja Template Tải lên

httpd_local = "/path/to/dir/conf/" # with httpd.conf located here 
httpd_remote = "/etc/httpd/conf/httpd.conf" 

with lcd(httpd_local): 
    upload_template(filename='/path/to/dir/conf/httpd.conf', destination=httpd_remote, context=context[hostname], use_jinja=True) 

Nhưng mỗi khi tôi chạy, tôi nhận được

jinja2.exceptions.TemplateNotFound: /path/to/dir/conf/httpd.conf 

Nó chắc chắn sống ở đó mặc dù. Chuyện gì vậy?

Trả lời

2

Từ docstring upload_template:

Cách khác, nếu use_jinja được thiết lập là True và bạn có khuôn mẫu thư viện Jinja2 sẵn, Jinja sẽ được sử dụng để làm cho mẫu để thay thế. Mẫu sẽ được tải từ thư mục làm việc hiện tại của người dùng đang hoạt động theo mặc định hoặc từ template_dir nếu được cung cấp.

Сonfusing behavior.

5

Để làm rõ câu trả lời oselivanov, đây sẽ là ví dụ của bạn với các định dạng thích hợp:

httpd_local = "/path/to/dir/conf/" # with httpd.conf located here 
httpd_remote = "/etc/httpd/conf/httpd.conf" 

with lcd(httpd_local): 
    upload_template(filename='httpd.conf', destination=httpd_remote, template_dir='/path/to/dir/conf', context=context[hostname], use_jinja=True) 
Các vấn đề liên quan