[PYTHON] 장고 양식 다중 선택
PYTHON장고 양식 다중 선택
나는 장고의 초보자이며, 나에게 약간의 안내를 해줄 수 있다면 정말 고마워 할 것이다. 사용자가 하나 이상의 옵션에 체크 할 수있는 양식을 작성하려고합니다. CheckboxSelectMultiple 위젯과 함께 MultipleChoiceField 필드를 사용해야한다는 것을 이해했지만 Django 문서는이 항목에 대한 예제를 제공하지 않습니다. 예를 들어 설명하고 결과를 처리하는 방법을 설명 할 수 있다면 감사하게 생각합니다. 예를 들어 옵션에 a b c d라는 형식이 있고 사용자가 c와 d를 틱하면. 또한 선택 방법을 지정하려면 어떻게해야합니까 (DB를 사용하지 않고 문자열 목록을 사용하고 싶습니다). 고마워.
해결법
-
==============================
1.희망이 도움이 : D 조
희망이 도움이 : D 조
from django import forms class Test(forms.Form): OPTIONS = ( ("a", "A"), ("b", "B"), ) name = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=OPTIONS)
-
==============================
2.forms.py
forms.py
class SomeForm(forms.Form): CHOICES = (('a','a'), ('b','b'), ('c','c'), ('d','d'),) picked = forms.MultipleChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple())
views.py
def some_view(request): if request.method == 'POST': form = SomeForm(request.POST) if form.is_valid(): picked = form.cleaned_data.get('picked') # do something with your results else: form = SomeForm return render_to_response('some_template.html', {'form':form }, context_instance=RequestContext(request))
some_template.html
<form method='post'> {{ form.as_p }} <input type='submit' value='submit'> </form>
결과 :
설명:
선택 사항 :
선택한 상자 가져 오기 :
form.cleaned_data.get ( 'picked')는 '실제 값'목록을 생성합니다. 예를 들어 # 작업 결과를 인쇄물로 선택하여 결과를 # 대체하면 다음과 같이 표시됩니다.
[u'a', u'c']
당신의 콘솔에
-
==============================
3.당신은 이것을 확인할 수있다 https://pypi.python.org/pypi/django-multiselectfield/
당신은 이것을 확인할 수있다 https://pypi.python.org/pypi/django-multiselectfield/
from multiselectfield import MultiSelectField # ... MY_CHOICES = (('item_key1', 'Item title 1.1'), ('item_key2', 'Item title 1.2'), ('item_key3', 'Item title 1.3'), ('item_key4', 'Item title 1.4'), ('item_key5', 'Item title 1.5')) MY_CHOICES2 = ((1, 'Item title 2.1'), (2, 'Item title 2.2'), (3, 'Item title 2.3'), (4, 'Item title 2.4'), (5, 'Item title 2.5')) class MyModel(models.Model): # ..... my_field = MultiSelectField(choices=MY_CHOICES) my_field2 = MultiSelectField(choices=MY_CHOICES2, max_choices=3, max_length=3)
from https://stackoverflow.com/questions/5747188/django-form-multiple-choice by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 부동 소수점 숫자를 가장 가까운 정수로 반올림 하시겠습니까? (0) | 2018.11.01 |
---|---|
[PYTHON] PyLint가 numpy 멤버를 인식하게하려면 어떻게해야합니까? (0) | 2018.11.01 |
[PYTHON] SQLAlchemy : 'and` 및`or`를 사용하면 예기치 않은 결과가 발생합니다. (0) | 2018.11.01 |
[PYTHON] numpy 배열을 PySide QPixmap으로 변환 (0) | 2018.11.01 |
[PYTHON] scapy에서 변경된 src / dst로 pcap에서 패킷 보내기 (0) | 2018.11.01 |