Form Çizimi
Coddy'nin Django Journey'sinin Formlar bölümünün bir parçası. Ders 6 / 20.
/events/new/ sayfası her etiketi ve giriş alanını elle yazar, EventForm ise aynı alanları yeniden listeler. Bir form kendini oluşturabilir: şablona bir form aktarın ve <form> etiketinin içine {{ form }} yazın. Bir iletişim sayfası:
<form method="post">
{% csrf_token %}
{{ form }}
<button type="submit">Send</button>
</form>{{ form }}, sınıfın alanları tanımladığı sırayla her alan için bir etiket ve giriş alanı yazar. Her giriş alanı, alanın name değerini ve id_email gibi bir id alır; böylece etiketi bu alana işaret eder. Form etiketi, belirteç ve düğme sizin kontrolünüzde kalır.
Henüz içine hiçbir şey yazılmamış bir form, hiçbir veri verilmeden çağrılan sınıftır: ContactForm(). Django ayrıca gerekli giriş alanlarını required ile işaretler; böylece tarayıcı, göndermeden önce boş bir alanı durdurur.
Görev
Kolaynew_eventiçinde, şablona boş birEventFormnesnesiniformolarak gönder.new_event.htmliçinde, etiketleri ve giriş alanlarını formun kendisini oluşturan kodla değiştir. Form etiketini, belirteci, düğmeyi ve hata mesajını koru.
Run'a bas ve /events/new/ adresini aç: Django alanları oluşturur.
Kendin dene
{% extends "events/base.html" %}
{% block title %}Add an event{% endblock %}
{% block content %}
<h1>Add an event</h1>
{% if error %}
<p class="error">{{ error }}</p>
{% endif %}
<form method="post">
{% csrf_token %}
<label for="title">Title</label>
<input id="title" name="title">
<label for="date">Date</label>
<input id="date" name="date" type="date">
<label for="place">Place</label>
<input id="place" name="place">
<button type="submit">Add event</button>
</form>
{% endblock %}
Formlar bölümündeki tüm dersler
2Django Formları
Bir Django FormuForm ÇizimiKendi başına pratik yap: Django playground