Menu
CoddyTech

عرض نموذج

جزء من قسم النماذج في رحلة Django على Coddy. الدرس 6 من 20.

تكتب الصفحة الموجودة في /events/new/ كل تسمية وحقل إدخال يدويًا، بينما تسرد EventForm الحقول نفسها مرة أخرى. يمكن للنموذج أن يرسم نفسه: مرّر واحدًا إلى القالب واكتب {{ form }} داخل وسم <form>. صفحة للتواصل:

<form method="post">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Send</button>
</form>

ينشئ {{ form }} تسمية وحقل إدخال لكل حقل، بالترتيب الذي يحدده الصنف. يحصل كل حقل إدخال على name الخاص بالحقل ومعرّف id مثل id_email، بحيث تشير تسميته إليه. أما وسم النموذج والرمز والزر فتبقى تحت سيطرتك.

النموذج الذي لم تُدخَل فيه أي بيانات بعد هو الصنف عند استدعائه من دون بيانات: ContactForm(). ويضيف Django أيضًا السمة required إلى حقول الإدخال المطلوبة، كي يمنع المتصفح إرسال الحقل الفارغ.

challenge icon

التحدي

سهل
  • في new_event، مرّر EventForm فارغًا إلى القالب باسم form.
  • في new_event.html، استبدل التسميات وحقول الإدخال برسم النموذج نفسه. أبقِ وسم النموذج والرمز والزر ورسالة الخطأ.

اضغط على Run وافتح /events/new/: سيعرض Django الحقول.

جرّب بنفسك

{% 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 %}

جميع دروس النماذج

تدرّب بنفسك: Playground لـ Django