django-waffle là một tính năng cho flipper Django & nbsp;. Bạn có thể xác định các điều kiện mà một lá cờ sẽ được kích hoạt và sử dụng nó trong một số cách.
Cài đặt:
Để bắt đầu sử dụng Waffle, bạn chỉ cần thêm nó vào INSTALLED_APPS và MIDDLEWARE_CLASSES của bạn:
INSTALLED_APPS = (
& Nbsp; # ...
& Nbsp; 'bánh',
& Nbsp; # ...
)
MIDDLEWARE_CLASSES = (
& Nbsp; # ...
& Nbsp; 'waffle.middleware.WaffleMiddleware',
& Nbsp; # ...
)
Kể từ Waffle sẽ được thiết lập cookie trên các đối tượng phản ứng, có thể bạn muốn nó dưới bất kỳ trung gian mà tweaks cookies trước khi gửi chúng đi.
Tạo một Cờ
Tạo và quản lý các cờ được thực hiện thông qua giao diện quản trị Django. Mỗi tính năng cờ được đại diện bởi một đối tượng Flag, trong đó có một số tài sản.
Tên:
& Nbsp; Tên của lá cờ. Sẽ được sử dụng để xác định các lá cờ ở khắp mọi nơi.
Tất cả mọi người:
& Nbsp; Bạn có thể lật cờ này (Yes) hoặc tắt (Không) cho tất cả mọi người, trọng tất cả các thiết lập khác. Để lại như không hề biết sử dụng bình thường.
Phần trăm:
& Nbsp; Một tỷ lệ người sử dụng cho người mà lá cờ sẽ được kích hoạt. Điều này được duy trì thông qua các tập tin cookie, vì vậy người sử dụng thông minh có thể nhận được xung quanh nó. Tuy nhiên, đó là trường hợp phổ biến nhất.
Superusers:
& Nbsp; là lá cờ này luôn hoạt động cho superusers?
Nhân viên:
& Nbsp; là lá cờ này luôn hoạt động cho nhân viên?
Đã xác thực:
& Nbsp; là lá cờ này luôn hoạt động cho người dùng xác thực?
Nhóm:
& Nbsp; Một danh sách các ID nhóm mà lá cờ này sẽ luôn luôn được kích hoạt.
Người sử dụng:
& Nbsp; Một danh sách các ID người dùng mà lá cờ này sẽ luôn luôn được kích hoạt.
Bạn có thể kết hợp nhiều thiết lập ở đây. Ví dụ, bạn có thể cung cấp một tính năng đến 12% người sử dụng và tất cả superusers. Khi kết hợp các thiết lập, lá cờ sẽ hoạt động cho người sử dụng nếu có các thiết lập phù hợp cho họ.
Sử dụng một cờ
Flags có thể được sử dụng trong các mẫu, trong quan điểm, hoặc quấn quanh toàn bộ quan điểm.
Nếu bạn cố gắng sử dụng một lá cờ đó không được định nghĩa, nó sẽ không hoạt động.
Sử dụng một Flag Templates
Trời ơi / Jinja2
Để sử dụng một lá cờ trong một mẫu Jinja2 qua trời ơi, bạn chỉ có thể làm:
{% Nếu waffle ('flag_name')%}
& Nbsp; Nội dung nếu cờ được kích hoạt
{% Endif%}
Bạn cũng có thể thêm một {%} else% phần, tất nhiên:
{% Nếu waffle ('flag_name')%}
& Nbsp; Gắn cờ là hoạt động!
{%} Else%
& Nbsp; Gắn cờ là không hoạt động!
{% Endif%}
Django Templates
Để sử dụng một lá cờ trong mẫu vanilla Django, bạn có thể sử dụng các thẻ waffle:
{% Tải waffle_tags%}
{% Waffle flag_name%}
& Nbsp; Nội dung nếu cờ được kích hoạt
{% Endwaffle%}
Các {% waffle%} tag cũng hỗ trợ một {%} else% phần:
{% Waffle flag_name%}
& Nbsp; Gắn cờ là hoạt động!
{%} Else%
& Nbsp; Gắn cờ là không hoạt động!
{% Endwaffle%}
Sử dụng một Flag đọc
Để sử dụng một lá cờ trong một lần xem, bạn chỉ cần waffle.is_active:
waffle nhập khẩu
def my_view (yêu cầu):
& Nbsp; nếu waffle.is_active (yêu cầu, 'flag_name'):
& Nbsp; # Behavior nếu cờ được kích hoạt.
& Nbsp; khác:
& Nbsp; # Behavior nếu lá cờ là không hoạt động.
Wraping một Tổng Xem trong một Cờ
Bạn cũng có thể bọc toàn bộ một cái nhìn một lá cờ:
từ waffle.decorators nhập waffle
waffle ('flag_name')
def my_view (yêu cầu):
& Nbsp; # Xem chỉ có sẵn nếu cờ được kích hoạt.
Nếu cờ là không hoạt động cho các yêu cầu, quan điểm sẽ là 404.
Bạn có thể đảo ngược điều này bằng cách đặt một dấu chấm than vào lúc bắt đầu của tên cờ, ví dụ:
waffle ('flag_name!')
def my_view (yêu cầu):
& Nbsp; # Xem là chỉ có sẵn nếu lá cờ là không hoạt động
Yêu cầu .
- Python
Bình luận không