Theo this thread trên danh sách nhà phát triển django, tôi không thể chuyển hằng số False
làm tham số cho thẻ mẫu Django vì nó sẽ được coi là tên biến không phải là nội tuyến không thay đổi.Thẻ mẫu tùy chỉnh Django chấp nhận tham số boolean
Nhưng nếu tôi muốn tạo thẻ mẫu cần có thông số đúng/sai, cách được đề xuất để tạo (bằng Python) và gọi (trong mẫu) thẻ mẫu đó là gì?
Tôi có thể chỉ cần vượt qua 1 hoặc 0 bên trong mẫu và nó sẽ hoạt động OK, nhưng cho rằng mẫu Django authoring không yêu cầu kiến thức lập trình máy tính (ví dụ: 1 == True, 0 == False) của nhà văn mẫu, tôi đã tự hỏi nếu có một cách thích hợp hơn để xử lý trường hợp này.
Ví dụ về định nghĩa và sử dụng thẻ:
@register.simple_tag
def some_tag(some_string, some_boolean = True):
if some_boolean:
return some_html()
else
return some_other_html()
<!-- Error! False treated as variable name in Request Context -->
{% some_tag "foobar" False %}
<!-- Works OK, but is there a better option? -->
{% some_tag "foobar" 0 %}
xem thêm http://stackoverflow.com/questions/4229327 – mpen