2011-01-22 28 views
7

Tôi đang cố gắng sử dụng django-sitetree nhưng tôi không hiểu cách thực hiện bước 3 là:Làm thế nào để sử dụng django-sitetree?

"Truy cập trang web Quản trị Django và thêm một số cây và mục cây".

Cách tạo sitetree trong bảng quản trị? Tôi tin rằng bước đầu tiên là chọn bí danh cho "Cây trang web" mà bạn sắp thêm vào.

Bước tiếp theo là thêm "Mục cây trang web". Trên trang này, bạn phải chọn phụ huynh, tiêu đề, url. Xem xét ứng dụng của tôi là động với cấu trúc url như thế này localhost:8000/categoryname/entryname làm cách nào để chọn url?

Nhân tiện tôi đang cố gắng thêm đường dẫn trong các mẫu của mình.

Trả lời

18

Để tạo một cây:

  1. bảng Chuyển đến quản trị trang web;
  2. Nhấp vào + Thêm gần 'Cây trang web';
  3. Nhập bí danh cho sitetree của bạn, ví dụ: 'maintree'.
    Bạn sẽ giải quyết cây của mình bằng bí danh này trong thẻ mẫu;
  4. Đẩy 'Thêm mục cây trang web';
  5. Tạo mục đầu tiên:

    phụ huynh: Vì nó là mục gốc mà sẽ không có cha mẹ.
    Tiêu đề: Để nó là 'Trang web của tôi'.
    URL: URL này là tĩnh, vì vậy hãy đặt tại đây '/'.

  6. Tạo mục thứ hai (mà người ta sẽ xử lý 'categoryname' từ 'categoryname/entryname' của bạn):

    phụ huynh: Chọn 'Trang web của tôi' mục từ bước 5.
    Tiêu đề: Đặt tại đây 'Danh mụC# {{category.id}}'.
    URL: Đặt URL có tên là 'category-detail category.name'.
    Trong 'Cài đặt bổ sung': chọn hộp kiểm 'URL làm mẫu'.

  7. Tạo mục thứ ba (mà người ta sẽ xử lý 'entryname' từ 'categoryname/entryname' của bạn):

    phụ huynh: Chọn 'Chuyên mụC# {{category.id}}' mục từ bước 6.
    Tiêu đề: Đặt tại đây 'Mục nhập # {{entry.id}}'.
    URL: Đặt URL được đặt tên là 'category.name entry.name nhập cảnh chi tiết'.
    Trong 'Cài đặt bổ sung': chọn hộp kiểm 'URL làm mẫu'.

  8. Đặt '{% load sitetree%}' vào mẫu yor để có quyền truy cập vào thẻ sitetree.
  9. Đặt '{% sitetree_menu từ "maintree"%}' vào mẫu của bạn để hiển thị trình đơn.
  10. Đặt '{% sitetree_breadcrumbs từ "maintree"%}' vào mẫu của bạn để hiển thị đường dẫn.

bước 6 và 7 cần một số giải thích:

  • Trong tiêu đề chúng tôi sử dụng Django mẫu biến, mà sẽ được giải quyết giống như họ làm trong các mẫu của bạn.

    Ví dụ: Bạn đã thực hiện chế độ xem cho 'categoryname' (hãy gọi nó là 'detailed_category') để chuyển đối tượng danh mục thành mẫu dưới dạng biến 'danh mục'. Giả sử rằng đối tượng category có thuộc tính 'id'. Trong mẫu của bạn, bạn sử dụng '{{category.id}}' để hiển thị id. Và chúng tôi làm chỉ tương tự cho mục cây trang web trong bước 6.

  • Trong các URL chúng tôi sử dụng các mẫu URL nào có tên của Django (documentation). Đó là gần như idential để sử dụng thẻ Django 'url' trong mẫu. cấu hình

    url của bạn cho bước 6, 7 phải bao gồm:

    url (r '^ (P <CATEGORY_NAME> \ S +)/(P <ENTRY_NAME> \ S +)/$?', 'detailed_entry', tên = 'nhập cảnh chi tiết '),
    url (r'^(? P <CATEGORY_NAME> \ S +)/$', 'detailed_category', tên = 'loại-chi tiết'),

    Vì vậy, đặt 'entry-detail category.name entry.name' ở bước 7 vào trường URL, chúng tôi yêu cầu sitetree liên kết mục sitetree đó với URL có tên 'entry-detail', chuyển đến các tham số category_name và entry_name.

Tôi hy vọng mô tả này nên lấp đầy khoảng trống tài liệu%)

+0

Woah! Tôi không mong đợi sự tôn trọng toàn diện này. Cảm ơn rất nhiều. – Sushi

+0

@Sushi Bạn được chào đón. –

+0

@idlesign Trong ví dụ này, là 'entry_name' trong URLconf và' entry.name' trong trường URL có liên quan? Nếu vậy, mối quan hệ này được thiết lập như thế nào? Tôi không thấy hai người được kết nối như thế nào. – Romildo

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