2012-07-01 18 views
6

danh sách kiểm tra chỉ là một danh sách các đối tượng. Ví dụTemplateSyntaxError bất cứ khi nào tôi cố gắng sử dụng bộ lọc trong các mẫu của mình

testlist.0.name 

chỉ đơn giản là "Test3"

Tôi có một tập tin temp.htm

{% extends 'base.html' %} 
{% block content %} 
{{testlist.0.name | safe}} 
{% endblock %} 

đó là tất cả có trong file temp.htm và base.html hoạt động tốt với tất cả file html khác sử dụng nó

temp.htm mang lại cho tôi

TemplateSyntaxError at /mytests/ 
Could not parse the remainder: ' | safe' from 'testlist.0.name | safe' 
Request Method: GET 
Request URL: http://127.0.0.1:8000/mytests/ 
Django Version: 1.4 
Exception Type: TemplateSyntaxError 
Exception Value:  
Could not parse the remainder: ' | safe' from 'testlist.0.name | safe' 

khi tôi thay đổi nó để:

{% extends 'base.html' %} 
{% block content %} 
{{testlist.0.lastedited |date:"SHORT_DATE_FORMAT" }} 
{% endblock %} 

nó mang lại cho tôi

TemplateSyntaxError at /mytests/ 
could not parse some characters: testlist.0.lastedited| ||date:"SHORT_DATE_FORMAT" 
Request Method: GET 
Request URL: http://127.0.0.1:8000/mytests/ 
Django Version: 1.4 
Exception Type: TemplateSyntaxError 
Exception Value:  
Could not parse some characters: testlist.0.lastedited| ||date:"SHORT_DATE_FORMAT" 

bạn sẽ có được ý tưởng. Có vẻ như tôi không thể sử dụng bất kỳ bộ lọc nào trong các mẫu django của tôi. Tôi đã thử các bộ lọc khác và vẫn nhận được cùng một thứ. Tôi có thiếu một số tùy chọn cho phép sử dụng ký tự ống không? Có thể là "|" quan trọng trên macbook pro của tôi không phải là nhân vật ống nhưng một số nhân vật khác mà django không nhận ra?

Trả lời

9

Dường như bạn cần xóa khoảng trắng giữa testlist.0.lastedited và bộ lọc của mình. Hãy thử một cái gì đó như:

{% extends 'base.html' %} 
{% block content %} 
{{testlist.0.name|safe}} 
{% endblock %} 

Tôi đoán đây là vấn đề của bạn, vì trong các tài liệu, họ không có bất kỳ khoảng trắng, và họ phân tích các mẫu như là một chuỗi hoặc một cái gì đó gần gũi với nó, vì vậy khoảng trắng có thể ảnh hưởng đến nó.

Template example

+0

là vậy, cảm ơn rất nhiều. Nó khiến tôi phát điên trong một giờ – panosmm

+1

Ok, chỉ cần tìm ra cách để làm điều đó, cảm ơn lần nữa. Tôi mới ở đây :) – panosmm

Các vấn đề liên quan