ایجاد داده – Create


در اولین اقدام بعد از ایجاد فرم و تعریف آن، سراغ فرایند ایجاد داده می­رویم

  •         ابتدا view   مختص ایجاد داده را در فایل views.py اپ، تعریف می‌کنیم

coreapp/views.py

from . import froms

 def ProjectCreate(request):

    projectForm = forms.ProjectForm()
    context = {'form': projectForm }
    return render(request, 'froms.html', context)
  •         سپس تعریف الگوی URL آن را در فایل urls.py ایجاد می‌کنیم

coreapp/urls.py

urlpatterns = [
    ...,
    path('project-add/', views.ProjectCreate, name='ProjectCreate'),
]
  • -         برای آخر، به سراغ ایجاد تمپلیت forms.html در دایرکتوری ریشه پروژه خواهیم رفت جرا که اغلب اوقات یک تمپلیت کلی نیاز کار را برای تمامی موارد ایجاد (Create) و ویرایش (Update) در تمامی مدل‌ها پوشش می‌دهد و نیازی به ایجاد تمپلیت‌های متعدد برای مدل‌های مختلف وجود ندارد مگر در مواردی خاص.


tutorial/templates/forms.html

{% extends 'base.html' %}

{% block content %}
<form method="POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit">
</form>
{% endblock %}

نکته: بلافاصله بعد از ایجاد FROM در HTML می­بایست تگ {% csrf_token %} را به کار برد. نوشتن این عبارت بسیار مهم است چراکه فرم‌ها را امن می‌کند! اگر درج این تگ در فرم­های تمپلیت فراموش شود، جنگو هنگام تلاش برای ذخیره کردن فرم، پیغام خطا می‌دهد:

بعد از اتمام کار، اگه در مرورگر به آدرس create-project/ وارد شویم، می‌توان نمایشی از فیلد­ها را برای ایجاد پروژه جدید مشاهده کرد