如何隱藏django中的複選框ClearableFileInput
。 我有一個表格,我該如何隱藏複選框,以便如果你想改變你必須上傳一個新的,因爲它是一個必填字段。隱藏Django ClearableFileInput複選框
0
A
回答
1
如果表單使用的ImageField然後使用的FileInput小部件,而不是ClearableFileInput
class Meta:
widgets = {
'field_name': forms.FileInput,
}
1
OK,你可以使用的FileInput,但你要隱藏複選框和「目前:path_to_file「都是。
一個解決方案來隱藏正好複選框是繼承ClearableFileInput部件,這種方式:
widgets = {
'field_name': widgets.NotClearableFileInput,
}
你會產生這樣的結果:
#widgets.py
from django.forms.widgets import FileInput
from django.utils.translation import ugettext_lazy
from django.utils.html import format_html
from django.utils.encoding import force_text
from django.utils.safestring import mark_safe
class NotClearableFileInput(FileInput):
initial_text = ugettext_lazy('Currently')
input_text = ugettext_lazy('Change')
template_with_initial = '%(initial_text)s: %(initial)s <br />%(input_text)s: %(input)s'
url_markup_template = '<a href="{0}">{1}</a>'
def render(self, name, value, attrs=None):
substitutions = {
'initial_text': self.initial_text,
'input_text': self.input_text,
}
template = '%(input)s'
substitutions['input'] = super(NotClearableFileInput, self).render(name, value, attrs)
if value and hasattr(value, "url"):
template = self.template_with_initial
substitutions['initial'] = format_html(self.url_markup_template,
value.url,
force_text(value))
return mark_safe(template % substitutions)
現在你可以在表單中使用這個小工具:
相關問題
- 1. 隱藏選中複選框
- 2. 複選框隱藏與jquery
- 3. 到位隱藏複選框
- 4. 隱藏複選框與CSS
- 5. 顯示隱藏複選框
- 6. jsTree隱藏複選框
- 7. 隱藏複選框IE8
- 8. 複選框中隱藏複選標記
- 9. Django ImageField not rendering ClearableFileInput
- 10. 如何在複選框中隱藏和取消隱藏框
- 11. JQuery隱藏()和複選框選擇
- 12. 隱藏行當選擇複選框
- 13. Javascript隱藏/取消隱藏FileUpload複選框選中
- 14. 複選框子類別隱藏,直到選中父複選框
- 15. 默認的Django複選框是真實的和隱藏的
- 16. QTreeWidgetItem隱藏子複選框,但不是父複選框
- 17. 在JQM複選框組內隱藏複選框
- 18. 在複選框列表中隱藏複選框ListItem的圖標
- 19. 複選框隱藏在身體負荷
- 20. JQuery - 隱藏複選框和文本
- 21. 如何隱藏複選框文本
- 22. 圖像隱藏在複選框
- 23. jQuery複選框隱藏並顯示div
- 24. 水豚/ Poltergeist,點擊隱藏複選框?
- 25. rails複選框隱藏字段類
- 26. 隱藏有多個複選框的行
- 27. 隱藏OO BASIC中的複選框
- 28. jQuery隱藏/顯示覆選框消息
- 29. 點擊複選框隱藏多行
- 30. Facebook messenger複選框插件隱藏
字段是*必填*還是不爲空?向我們展示一些代碼。 –
是其必填字段 – user1940979
爲什麼不使用簡單的'FileInput'? –