Tôi có mẫu base.html chứa danh sách liên kết.Django: Có cách nào tốt hơn để in đậm liên kết trang hiện tại
Ví dụ:
<div id="sidebar1">
<ul>
<li><a href="/" title="">Index</a></li>
<li><a href="/stuff/" title="" class="current">Stuff</a></li>
<li><a href="/about/" title="">About Me</a></li>
<li><a href="/contact/" title="">Contact Me</a></li>
</div>
Sau đó, tôi có trong views.py tôi một định nghĩa cho mỗi index.html, stuff.html, about.html và contact.html. Mỗi mẫu trong số đó chỉ lấy từ mẫu base.html và đặt tiêu đề và nội dung tương ứng của riêng chúng.
Câu hỏi của tôi là về nội dung trên/thứ tôi có class = "current".
Tôi muốn làm cho trang hiện tại mà tôi đang có thuộc tính lớp đó.
Tôi có thể đặt biến khác trong mỗi chế độ xem như current_page = "about" và sau đó thực hiện so sánh trong mẫu với {% ifequal %}
trong mỗi phần tử lớp của mỗi liên kết, nhưng điều đó có vẻ giống như công việc nhân bản (vì biến số lượt xem bổ sung).
Có cách nào tốt hơn không? Có lẽ nếu có một cách để có được tên chức năng xem mà các mẫu đã được điền từ tự động tôi sẽ không cần phải thiết lập các biến thêm? Ngoài ra nó có vẻ như rất nhiều ifequals.
Không này có nghĩa là rất nhiều nội dung trùng lặp trong CSS mặc dù? –
... Ý tôi là kiểu cho mỗi id liên kết. –
Đó là một dòng CSS cho mỗi trang/phần. Bản thân kiểu chỉ xuất hiện một lần, với một danh sách các cặp phần/nav được phân tách bằng dấu phẩy trước nó. – RichieHindle