ایجاد داده – 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/
وارد شویم، میتوان نمایشی از فیلدها را برای ایجاد پروژه جدید مشاهده کرد