ذخیره کردن مقادیر یک فیلد از یک فرم در جنگو به دیتابیس
توضیحات:
برای ذخیره مقادیر یک فرم در جنگو به دیتابیس، شما باید از مدلها و فرمهای جنگو استفاده کنید.
ابتدا باید یک مدل برای دادههایی که میخواهید ذخیره کنید تعریف کنید، سپس یک فرم برای ورود اطلاعات از کاربر ایجاد کنید و اطلاعات ورودی را از آن فرم بگیرید و آن را به مدل مربوطه متصل کنید.
به عنوان مثال، فرض کنید یک مدل به نام Person
با فیلدهای first_name
و last_name
دارید. برای ذخیره اطلاعات از یک فرم به این مدل، ابتدا یک فرم بسازید:
from django import forms
class PersonForm(forms.Form):
first_name = forms.CharField(max_length=100)
last_name = forms.CharField(max_length=100)
سپس در ویوی خود، این فرم را ایجاد کرده و اطلاعات ورودی را از آن بگیرید و به مدل Person
متصل کنید:
from django.shortcuts import render
from .models import Person
from .forms import PersonForm
def create_person(request):
if request.method == 'POST':
form = PersonForm(request.POST)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
person = Person(first_name=first_name, last_name=last_name)
person.save()
return render(request, 'success.html')
else:
form = PersonForm()
return render(request, 'create_person.html', {'form': form})
در این مثال، ابتدا فرم PersonForm
را ایجاد کرده و در ویو create_person
از آن استفاده کردهایم. اگر فرم معتبر باشد، اطلاعات ورودی را از فرم گرفته و یک نمونه از مدل Person
ایجاد میکنیم و آن را در دیتابیس ذخیره میکنیم.
در نهایت، میتوانید یک صفحه موفقیت را برای نمایش به کاربر برگردانید.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد