2009-07-03 27 views
7

Làm cách nào để xóa nhãn đi kèm với TextArea Tôi đang cố gắng sử dụng với Django? Tôi đang cố gắng tìm BẤT K information thông tin về vấn đề này nhưng tôi dường như không thể tìm thấy bất cứ điều gì liên quan đến vấn đề của tôi. Đây là những gì tôi đang làm trong mã của tôi:Xóa Nhãn Từ Tiện ích TextArea của Django

class CommentForm(forms.Form): 
    comment = forms.CharField(widget=forms.Textarea()) 

Đây là HTML mà nó tạo ra:

<label for="id_text">Text:</label> 
<textarea id="id_text" rows="10" cols="40" name="text"></textarea> 

nhãn Đó là không tốt và tôi muốn một cách để loại bỏ nó. mã mà được sản xuất qua:

{{ form.as_p }} 

(Tôi đã gỡ bỏ các thẻ đoạn vì họ không liên quan)

EDIT: Tôi thêm phần lớp commentform để làm rõ thêm.

Bất kỳ ai có bất kỳ đề xuất nào?

Trả lời

8

Các Django documentation on customizing labels nói nó có thể được tắt với auto_id luận Mẫu số constructor:

f = ContactForm(auto_id=False) 
+0

nvm bình luận trước đó của tôi, tôi đã xóa nó, tuy nhiên điều này vẫn không làm gì cho tôi, tôi có thể khởi tạo nó ở vị trí sai không? Tôi đang làm điều đó trong giao diện trước khi trang được hiển thị. – AlbertoPL

+0

Tôi không thực sự chắc chắn nhưng tôi đoán bạn có thể đặt nó như thế này: lớp CommentForm (forms.Form): auto_id = False bình luận = forms.CharField (widget = forms.Textarea()) –

+0

Ok, có vẻ như thế này NÊN là cách để làm điều đó, tuy nhiên tôi không nhận được thay đổi. Tôi sẽ cập nhật câu hỏi với nhiều kết quả hơn. – AlbertoPL

23

này nên làm việc với phiên bản mới nhất (thân cây) của django:

comment = forms.CharField(label="", help_text="", widget=forms.Textarea()) 

Hy vọng rằng sẽ giúp!

+0

Đáng tiếc là tôi đang sử dụng Django 1.0.2, và tôi đoán này không xảy ra để làm việc chưa. – AlbertoPL

+0

Thật kỳ lạ. Nó không phải là một tính năng Django 1.1 (tôi chỉ không thể dễ dàng xác minh rằng nó hoạt động trong Django 1.0.2). – lemonad

+0

'

0

Một giải pháp nhanh chóng-và-bẩn sẽ được lặp thông qua hình thức manualy (với {% cho lĩnh vực ở dạng% }) và xử lý trường "có vấn đề" đặc biệt. Bạn cũng có thể ghi đè các phương thức as_p/as_table nếu cần.

0

Hãy thử điều này trong hình thức của bạn:

def __init__(self, *args, **kwargs): 
    self.fields['comment'].label = '' 

Nhưng đối với các phiên bản mới hơn của django tôi thích Iemonad của câu trả lời

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