2009-08-11 33 views
10

Tôi biết cách sử dụng WMD và các trình chỉnh sửa javascript khác trong các biểu mẫu django thông thường bằng widget =. Tuy nhiên, làm cách nào để sử dụng WMD cho các trường văn bản trong quản trị Django? Ngày đầu đó, làm thế nào để sử dụng nó cho lĩnh vực nội dung trên contrib.flatpages trong admin?WMD trong Django Admin?

Ngoài ra, tôi nghĩ rằng tôi có thể muốn sử dụng nhánh StackOverflow của WMD, vì vậy tôi muốn có bất kỳ hướng dẫn đặc biệt nào cho điều đó, nếu cần.

Tôi biết cách sử dụng bộ lọc đánh dấu trong các mẫu, để phần đó là ok. Tôi chỉ cần yêu cầu trình chỉnh sửa hiển thị và làm việc trong giao diện quản trị.

Trả lời

5

Tôi đã từ bỏ việc cố gắng sử dụng WMD. Thay vào đó, tôi đã sử dụng Markitup! Tính đến thời điểm đăng bài này, phiên bản hiện tại của WMD không phải chỉ để ngửi. Các StackOverflow ngã ba của nó là tốt hơn, nhưng thiếu nhiều tính năng tôi muốn.

Thay vào đó, tôi quyết định sử dụng Markitup! Nó có một ứng dụng tái sử dụng Django. Nó cũng tích hợp rất tốt với các bộ lọc mẫu django.contrib.markup hiện có.

django-markitup

tôi cũng tìm thấy một trang web đó cho thấy làm thế nào để sử dụng nó cho flatpages mà không cần phải chỉnh sửa các mẫu admin.

extending admin forms in django

+1

Đó là quá xấu, bởi vì chúng tôi đã tạo ra django-wmd-editor: http://github.com/scrum8/django-wmd-editor –

+0

Nó không được ra tại thời điểm tôi cần nó. – Apreche

+2

Liên kết chết jpartogi –

0

Đây không phải là câu trả lời trực tiếp cho câu hỏi của bạn, nhưng nó có thể hữu ích.

Có vẻ như khá phổ biến khi thêm trình chỉnh sửa WYSIWYG TinyMCE vào django. Nếu bạn tìm kiếm các hướng dẫn về cách thêm TinyMCE vào quản trị viên Django, bạn có thể thích ứng với phương thức cho WMD.

Trong sách Practical Django Projects, Second Edition, tác giả nhúng TinyMCE vào quản trị viên flatpages. Bạn có thể tải xuống mã từ Bitbucket repository và xem cách thực hiện (xem cms/templates/admin /). Ngoài ra, bạn có thể thử this guide trên trang web Django.


+1 cho câu hỏi. Tôi cũng muốn viết flatpages trong markdown. Tuy nhiên tôi nghĩ rằng phương pháp tốt nhất cho việc sử dụng markdown là

  1. có hai lĩnh vực, nói contentcontent_html, và lưu trữ các markdown gốc trong content.
  2. Khi đối tượng được lưu, chuyển đổi markdown thành html và lưu nó trong content_html.

Điều này có nghĩa là bạn tránh chuyển đổi sang html trong mẫu mỗi khi trang được xem. Tuy nhiên tôi không biết cách nào để mở rộng contrib.flatpages bằng cách 'thêm' một trường bổ sung.

+0

Ồ, đó là một ý tưởng thực sự thông minh, có hai trường. Rõ ràng trường HTML sẽ không thể chỉnh sửa được. Tuy nhiên, tôi nghĩ bạn cũng có thể chỉ cần lưu trữ HTML đã chuyển đổi và đạt được hầu hết các lợi ích giống như hiệu suất-khôn ngoan. – Apreche

2

Để chèn WMD hoặc bất kỳ JS nào khác vào trang Quản trị Django, hãy làm theo hướng dẫn về ghi đè mẫu quản trị trong tài liệu Django, ngay here - trường hợp xấu nhất, bạn sẽ sao chép và chỉnh sửa các mẫu Django hiện có để thêm chức năng JS cần thiết của bạn và sử dụng các hướng dẫn đó để đảm bảo các mẫu đã sửa đổi của bạn được sử dụng thay cho các mẫu mặc định của Django, nhưng hầu như bạn luôn có thể làm tốt hơn điều này, như bạn sẽ thấy trong các hướng dẫn đó.

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