Menu với giao diện tùy biến

Django tạo menu động với django-sitetree và Bootstrap

Menu là thành phần không thể thiếu trong mỗi website. Bài viết này hướng dẫn tạo menu động một cách nhanh chóng, đơn giản với việc sử dụng module django-sitetree

Giới thiệu về django-sitetree

django-sitettree là module sẵn của Django cho phép tạo site tree, menu, breadcrumbs. Đây là gói cho phép tạo menu động một cách đơn giản, nhanh chóng. Chi tiết hãy xem tại đây

GitHub: https://github.com/idlesign/django-sitetree

Docs: http://django-sitetree.readthedocs.io/en/latest/index.html

Cài đặt, cấu hình django-sitetree

  1. Cài đặt gói django-sitetree với lệnh sau: pip install django-sitetree
  2. Thêm sitetree vào INSTALL_APP trong file settings.py
  3. Kiểm tra và chắc chắn rằng django.template.context_processors.request và django.contrib.auth.context_processors.auth được cấu hình trong TEMPLATES/OPTIONS/context_processors
  4. Chạy ./manage.py migrate để cài đặt các bảng vào DB

Tạo menu

  1. Truy cập trang quản trị http://localhost:8000/admin
  2. Chọn +Add gần ‘Site Trees’ để thêm mới 1 menu
  3. Nhập tên và alias cho menu ví dụ ‘main-menu’, alias sẽ được sử dụng trong template
  4. Chọn ‘Add Site Tree Item’
  5. Tạo các menu item phía trong

 

Thêm menu vào template

Để thêm menu vào tạo vào trong template thì chỉ cần chú ý 2 câu lệnh dưới đây
{% load sitetree %}{% sitetree_menu from “mainmenu” include “trunk,topmenu” %}
Chúng ta sẽ có trang hiển thị như sau:

Menu sau khi thêm sitetree
Menu sau khi thêm sitetree

Thêm bootstrap style cho menu

Django-stitetree hỗ trợ template Bootstrap. Chúng ta có thể tìm thấy template ở thư mục package sitetree.

1. Tạo thư mục tên “sitetree” trong thư mục template.

2. Copy 2 file menu_bootstrap3.html, menu_bootstrap3_dropdown.html từ thu mục virtualenv //lib/python3.7/site-packages/sitetree/templates/sitetree vào thư mục sitetree tạo ở bước 1.
3. Đổi tên 2 file thành lần lượt như sau:
menu.html
menu_dropdown.html
Và chúng ta sẽ được trang như dưới đây

Menu sau khi sử dụng template bootstrap
Menu sau khi sử dụng template bootstrap

Tùy biến giao diện menu

Chúng ta có thể thay đổi template cho file menu.html như source code dưới đây

Chúng ta sẽ có được giao menu đẹp hơn chút như dưới đây

Menu với giao diện tùy biến
Menu với giao diện tùy biến

 

Chúc các bạn thành công !

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *