Forms¶
Form: Checkliste¶
- forms.py erstellen
- ModelForm für Model erstellen
- Update-View erstellen (display, save, errors)
- urls.py updaten
- Template erstellen
forms.py und ModelsForm¶
core/forms.py
from django import forms
from core.models import Contact
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name']
Note
Man KANN jedes Feld einzeln definieren. Das machen wir aber nicht.
Form: die View Dazu¶
core/views.py
from core.forms import ContactForm
def add_contact(request):
context = RequestContext(request)
if request.method == 'POST':
form = ContactForm(request.POST, request.FILES)
if form.is_valid():
form.save(commit=True)
return index(request)
else:
print form.errors
else:
form = ContactForm()
return render(request, 'add_contact.html', {'form': form})
Form: Das Template¶
<form id="cform" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% for field in form.visible_fields %}
{{ field.errors }}
{{ field.help_text }}
{{ field }}
{% endfor %}
<input type="submit" name="submit" value="Contact Me!" />
</form>