2013-02-16 38 views
5

Tàu Django có một số công cụ tuyệt vời để tạo thẻ mẫu tùy chỉnh.Thẻ mẫu tùy chỉnh args và kwargs parser

Đăng ký simple_tag và assignment_tag cả hai phân tích nội dung mã thông báo đến và chuyển đổi chúng thành args, kwargs được giải quyết chính xác cho tham chiếu của chúng (nói biến đã được chuyển vào).

Có cách nào đơn giản để thêm hành vi này vào thẻ thông thường không?

Tôi cần sử dụng đối tượng parser vì vậy tôi cần phải sử dụng thẻ thông thường, nhưng có vẻ như tôi đang lướt qua rất nhiều mã để tạo lại trình phân tích cú pháp args, kwargs.

@register.tag(name='snippet') 
def snippet_with_defaults(parser, token): 
    bits = token.split_contents()[1:] 
    bits # bits needs to be converted to args, kwargs easily 

Tôi cần một thẻ có chức năng như thế này:

{% snippet foo=bar bar=baz %} 
This is a glorious django template tag! 
{% endsnippet %} 

Nó có vẻ như đây là một vấn đề thường gặp như vậy (một args, kwargs phân tích cú pháp cho các đối số thẻ) mà nó cần phải có một đoạn django hoặc một cái gì đó!

Trả lời

5

Tôi đã tìm thấy một đoạn mã có thể giúp bạn.

Tag that parses args and kwargs

+0

Simon, bạn là người đàn ông! Cảm ơn bạn! –

+0

Không phải lo lắng. Mừng vì tôi có thể giúp. Hy vọng điều này đã trả lời câu hỏi của bạn. –

+0

Tôi chưa có cơ hội để kiểm tra nó nhưng tôi sẽ chấp nhận giả sử nó hoạt động! –

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