我已经有代码,但它不起作用。但我正在寻找关于如何使用表单在页面之间传递数据的解决方案或实践。我应该使用隐藏字段还是会话?我已准备好更改或重写我的代码。我愿意接受其他建议,我想。
这是我的代码
表格.py
class applyForm(forms.ModelForm):
basvuru_mesaji = forms.CharField(required=True,error_messages={'required':'Bu alanı boş bırakmamanız gerekiyor'}, widget=forms.Textarea(attrs={'class': 'full','placeholder': 'Başvuru mesajınızı buraya yazınız'}))
tcn = forms.IntegerField(required=False, error_messages={'invalid':'Numara dışında karakter girişi yaptınız'}, widget=forms.TextInput(attrs={'class': 'full','placeholder': 'T.C. Kimlik Numaranız'}))
hidden = forms.CharField(widget=forms.HiddenInput(), required = False)
class Meta():
model = apply
fields = '__all__'
模型.py
class apply(models.Model):
tcn = models.PositiveIntegerField(blank=True, verbose_name='T.C.N :', null=True)
basvuru_mesaji = models.TextField(verbose_name='Başvuru Mesajı')
视图.py
def form_for_apply(request):
form = applyForm(request.POST or None)
if form.is_valid():
new_join = form.save(commit=True)
new_join.save()
basvuru_mesaji = form.cleaned_data["basvuru_mesaji"]
return HttpResponseRedirect('/apply_ok/')
context = {"form":form}
template = "apply.html"
return render(request, template, context)
def apply_ok(request):
allfield = apply.objects.all()
print allfield
form = applyForm(request.GET)
context = {"form":form}
#print context.data
template = "apply_ok.html"
return render(request, template, context)
应用.html
{% csrf_token %}
{% if form.errors %}
{{ form.errors }}
{% endif %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
<div class="mTopTwe">
<label for="{{ form.basvuru_mesaji.id_for_label }}">
{{form.basvuru_mesaji.field.label}}
</label>
{{ form.basvuru_mesaji.errors }}
{{ form.basvuru_mesaji }}
</div>
apply_ok.html
<div class="mTopTwe">
{{form.basvuru_mesaji.data}} {{ form.hidden.data }}
</div>