2009-12-29 27 views
8

Tôi đã là một hình thức tìm kiếm như thế này:quá trình lớp phương tiện truyền thông của một hình thức mô hình trong django một mẫu

class MarketingActionForm(forms.ModelForm): 

    contact = ManyToManyByLetter(Contact, field_name="first_name") 
    #contact = AjaxManyToManyField(Contact, DICT_LOOKUP) 

    class Meta: 
     model = MarketingAction 
     exclude = ('created_by',) 

    class Media: 
      js = (
       settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js", 
       settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js", 
       settings.MEDIA_URL + "js/jquery.js", 
       settings.MEDIA_URL + "js/ajax_filtered_fields.js", 
      ) 

tôi xử lý hình thức này với một cái nhìn cho mẫu. Bây giờ tôi tự hỏi tại sao lớp Media không được xử lý tự động trong template, ít nhất nó không hiển thị trong đầu ra .html.

Vì vậy, tôi muốn hỏi tôi phải làm gì để định nghĩa phương tiện sẽ hiển thị trong đầu ra .html.

Tôi không tìm thấy nó trong django .docs. Do đó tôi nghĩ rằng nó sẽ được xử lý tự động.

Trả lời

7

Bạn sẽ cần phải thêm {{form.media}} trong mẫu chính mình. Tham chiếu đến hình thức phương tiện không được chèn tự động. Nó sẽ rất khó để làm vì toàn bộ tài liệu html bao gồm cả phần <head> sẽ được gõ bởi nhà thiết kế mẫu và django sẽ phải đoán nơi để chèn các liên kết nếu nó đã cố gắng để làm điều đó tự động (nó sẽ đặc biệt khó đoán chính xác cho phương tiện javascript - nếu có sự phụ thuộc giữa các tập lệnh)

+0

cảm ơn rất nhiều! đó là giải pháp :-) –

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