شما این محصولات را انتخاب کرده اید

سبد خرید

پر کردن مقادیر یک فیلد از دیتابیس در جنگو به یک فرم
شناسه پست: 8283
بازدید: 65

پر کردن مقادیر یک فیلد از دیتابیس در جنگو به یک فرم

توضیحات:

برای پر کردن یک فرم با مقادیر موجود در دیتابیس در جنگو، می‌توانید از فرم‌های مدل مرتبط با دیتابیس استفاده کنید، این کار به وسیلهٔ تنظیم مقادیر پیش‌فرض فیلدها در فرم انجام می‌شود.

برای مثال، فرض کنید یک مدل به نام 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 و… را تحت پوشش قرار داد

اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها