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