Tôi có trường mô hình, lưu trữ danh sách các URL (vâng, tôi biết, đó là cách sai) là url1\nurl2\nurl3<...>
. Tôi cần phải chia lĩnh vực này thành một mảng trong mẫu của tôi, vì vậy tôi tạo ra các bộ lọc tùy chỉnh:Mẫu Django - chia chuỗi thành mảng
@register.filter(name='split')
def split(value, arg):
return value.split(arg)
tôi sử dụng nó theo cách này:
{% with game.screenshots|split:"\n" as screens %}
{% for screen in screens %}
{{ screen }}<br>
{% endfor %}
{% endwith %}
nhưng như tôi có thể nhìn thấy, phân chia không muốn làm việc: Tôi nhận được đầu ra như url1 url2 url3
(với các ngắt dòng nếu tôi nhìn vào nguồn). Tại sao?
Điều này có ý nghĩa hơn nhiều. Bạn đã cứu tôi từ nhiều điều sai. –
Hãy nhớ rằng, các mô hình quá béo có thể trở thành một đống công cụ không thể duy trì. Trường hợp cụ thể này là hợp lệ - bạn sẽ chuyển đổi một số dữ liệu được tuần tự hóa sang Python, điều này có ý nghĩa khi thực hiện trên lớp mô hình. (Bạn thậm chí có thể làm cho phương thức đó là một thuộc tính được tính toán.) Tuy nhiên, nếu bạn muốn đặt một phương thức trên mô hình của bạn * chỉ * để bạn có thể gọi nó từ mẫu của bạn, hãy suy nghĩ hai lần - có lẽ sẽ ổn thôi xử lý trong (các) chế độ xem của bạn :) – Tony
tốt hơn thẻ mẫu nếu nội dung từ mô hình.Model – WeizhongTu