2013-07-24 3 views
0

Getting TemplateSyntaxError: Invalid filter: 'truncatechars' in app engine. 최신 장고 라이브러리를 사용하고 있습니다. "Third-party Libraries in Python 2.7 on appengine" django 최신 버전은 1.4이며 truncatechars은 같은 버전 (django doc)에 포함되어 있습니다.Django TemplateSyntaxError : 필터가 잘못되었습니다. 'truncatechars'

index.py

import webapp2 
import os 
from google.appengine.ext.webapp import template  

class MainHandler(webapp2.RequestHandler): 
    def get(self): 
     title = " Python, an interactive, object-oriented, extensible programming language." 
     template_values = { 
      'title': title, 
     } 
     path = os.path.join(os.path.dirname(__file__), 'index.html') 
     self.response.out.write(template.render(path, template_values)) 

index.html을 애플리케이션 제목을

libraries: 
    - name: django 
     version: latest 

에서

<html> 
<body> 
{{title|truncatechars:9}} // Error returns 

{{title|slice:"9"}}{% if title|length > 9 %}...{% endif %} 
</body> 
</html> 

나는 도서관 version: "1.4" 함께 노력하고 동일한 문제를 가지고있다.

오류 :

File "/home/user/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1535, in __call__ 
    rv = self.handle_exception(request, response, e) 
    File "/home/user/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1595, in handle_exception 
    return handler(request, response, e) 
    File "/home/user/dimensionfinder/urls.py", line 43, in handle_500 
    response.write(template.render(path, template_values)) 
    File "/home/user/google_appengine/google/appengine/ext/webapp/template.py", line 89, in render 
    t = _load_internal_django(template_path, debug) 
    File "/home/user/google_appengine/google/appengine/ext/webapp/template.py", line 163, in _load_internal_django 
    template = django.template.loader.get_template(file_name) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/loader.py", line 160, in get_template 
    template = get_template_from_string(template, origin, template_name) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/loader.py", line 168, in get_template_from_string 
    return Template(source, origin, name) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 158, in __init__ 
    self.nodelist = compile_string(template_string, origin) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 186, in compile_string 
    return parser.parse() 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 281, in parse 
    compiled_result = compile_func(self, token) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/defaulttags.py", line 693, in do_for 
    nodelist_loop = parser.parse(('empty', 'endfor',)) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 262, in parse 
    filter_expression = self.compile_filter(token.contents) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 356, in compile_filter 
    return FilterExpression(token, self) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 538, in __init__ 
    filter_func = parser.find_filter(filter_name) 
    File "/home/user/google_appengine/google/appengine/_internal/django/template/__init__.py", line 362, in find_filter 
    raise TemplateSyntaxError("Invalid filter: '%s'" % filter_name) 
TemplateSyntaxError: Invalid filter: 'truncatechars' 
+0

: "1.4" '(큰 따옴표 포함)? –

+0

그것이 작동하지 않는다면 항상'| slice : "를 사용하도록 대체 할 수 있습니다 : 9"' –

+1

템플릿을 렌더링하는 데 사용하는 코드를 보여줘야합니다. Django를 실제로 사용하지 않고 webapp을 사용하고 있으므로 가져 오기 및 템플릿 렌더링 구성 요소를 사용해야합니다. 문제는 거기에 있어야합니다. –

답변

관련 문제