3
양식에 매우 특정한 HTML 디자인이 있으므로 HTML로 작성해야합니다. 기본 양식 렌더러는 사용하지 않습니다.Django : SelectDateWidget의 각 subselect 값 가져 오기
이 SelectDateWidget을 장고 양식에 설정했습니다. SelectDateWidget을 제외하고 모두 잘 작동합니다. 양식이 유효하지 않은 경우 모든 관련 값을 수집하고 사용자 정의 HTML 필드를 다시 채 웁니다. 문제는 내 템플릿에서 SelectDateWidget의 값을 가져올 수없는 것입니다.
form.mydate_day.value
, form.mydate.day_value
등과 같은 것들을 시도했지만 아무 것도 포함하지 않은 것으로 보입니다.
아무도 저에게 도움이 될 수 있습니까? 감사합니다. . 요청으로
, 모델 :
class Subscriber(models.Model):
civilite = models.CharField(max_length=5, verbose_name='Civilite',choices=(('Mlle','Mademoiselle'),('M.','Monsieur'),('Mme','Madame')))
email = models.EmailField(max_length=255, verbose_name='Email', unique=True)
nom = models.CharField(max_length=60, verbose_name='Nom')
prenom = models.CharField(max_length=60, verbose_name='Prenom')
ville = models.CharField(max_length=50,verbose_name='Ville')
cp = models.CharField(max_length=5,verbose_name='Code Postal',validators=[RegexValidator(regex='^\d{5}$')])
date_naissance = models.DateField(auto_now_add=False)
optin = models.BooleanField(default=True,verbose_name='Optin')
date_inscription = models.DateField(auto_now_add=True)
형태 :
class SubscriberForm(ModelForm):
class Meta:
model = Subscriber
widgets = {
'civilite': forms.RadioSelect(),
'date_naissance': extras.SelectDateWidget(years=range(1994,1900,-1)),
}
뷰 :
def index(request):
if request.method == 'POST':
form = SubscriberForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/coreg.html')
else:
form = SubscriberForm()
return render(request,'index.html', {'form':form,'days':range(1,31),'months':range(1,12),'years':range(1994,1900,-1)})
템플릿 :
<label class="lbl" for="jour">Date de naissance :</label>
<div class="select {% if form.date_naissance.errors %}error{% endif %}"><span>
<select name="date_naissance_day" id="jour">
<option value="--">J</option>
{% for i in days %}
<option value="{{i}}" {% if form.date_naissance_day.value == i %}selected{% endif %}>{{i}}</option>
{% endfor %}
</select>
</span></div>
<div class="select"><span>
<select name="date_naissance_month" id="mois">
<option value="--">M</option>
{% for i in months %}
<option value="{{i}}" {% if form.date_naissance_month.value == i %}selected{% endif %}>{{i}}</option>
{% endfor %}
</select>
</span></div>
<div class="select last"><span>
<select name="date_naissance_year" id="annee">
<option value="--">A</option>
{% for i in years %}
<option value="{{i}}" {% if form.date_naissance_year.value == i %}selected{% endif %}>{{i}}</option>
{% endfor %}
</select>
</span></div>
<br clear="all" />
좋아, 그것은 제거되고 있어요. 그럼 : HELLO :) – user1159791
어떻게 양식을 구현했으며 템플릿에 어떻게 표시하고 있습니까? –
거기에, 편집 된 게시물 – user1159791