آموزش هایی برای پایتون ، جنگو و توسعه ی وب اپلیکیشن

نویسنده : آرش ارزنده نیا

در ابتدا تنها یک متخصص شبکه های مایکروسافتی بودم ، کم کم به دنیای سیسکو و محیط های کامند لاینی علاقه مند شدم ، همزمان لینوکس رو هم توی پروژه هام دخیل میکردم ، چون در زمان دانشجویی تسلط خوبی روی طراحی وب سایت داشتم شروع کردم به نوشتن نرم افزارهای تحت وب ، تا مدت ها با php تمام پروژه هامو انجام میدادم ، گهگاهی هم با سی شارپ ، تا اینکه سوییچ کردم روی پایتون ، از اینجا به بعدش رو با هم تو این بلاگ میگذرونیم

ساخت فرم از روی مدل در جنگو


یکی دیگر از مزیت های توسعه با جنگو کار کردن بسیار راحت با مدل ها و فرم ها می باشد، در  واقع یکی از زمان گیر ترین مراحل توسعه ی یک اپلیکیشن تحت وب نوشتن صحیح و بدون خطای فرم های آن میباشد ، جنگو ساخت و کارکردن فرم ها را برای توسعه دهندگان بسیار ساده کرده است ، شاید تعجب کنید اگر بشنوید که دیگر نیاز نیست فرم ها را به صورت قدیم و با زبان   HTML بنویسید. حتی دیگر نیاز نیست که نگران نام های تکراری برای فیلد های خود باشید وحتی ضروری بودن و نبودن پر کردن یک فیلد هم دیگر نیازی به تعریف مستقیم ندارد. در ضمن لیبل های هر فرم هم نیازی به نوشتن هر باره و مجدد ندارند. 
جنگو بسیار قدرتمند فرم ها را از روی مدل های ما ایجاد میکند و وظیفه نام گذاری فیلد ها و سایر ملزومات یک فرم را هم خودش برای ما از روی مدل هایمان ایجاد میکند.

مدل زیر را در نظر بگیرید

class Student(models.Model):
    FirstName = models.Charfield(max_length = 255 , verbose_name='نام')
    LastName = models.CharField(max_length = 255 , verbose_name = 'نام خانوادگی')
    Address = models.TextField(verbose_name= 'آدرس محل سکونت') 

همانطور که میدانید مدل ها برای ما جداول دیتابیس را هم میسازند و به ما امکان این را میدهند که از روی هر مدل instance های مورد نیاز خودمان را نیز بسازیم، اگر بخواهیم دانش آموزی را در سیستم تعریف کنیم همانطور که در مدل آن مشاهده میکنید میبایست نام ، نام خانوادگی و آدرس دانش آموز را وارد کنیم . حال میخواهیم از روی مدل بالا یک فرم ایجاد کنیم که از طریق آن فرم بتوانیم از طریق مرورگر خودمان اقدام به تعریف دانش آموزان بکنیم.

from yourapplication.models import Student
from django import forms

class StudentForm(forms.ModelForm):
    class Meta:
        model = Student
        fields = '__all__'

قطعه کد بالا برای ما از روی مدلمان یک فرم ایجاد میکند، در قسمت Meta مدلی که قصد ساخت فرم از روی آن را داریم معرفی میکنیم و در قسمت fields نام فیلدهایی که میخواهیم در فرم ما حضور داشته باشند را می آوریم . البته به جای ذکر تمامی فیلد ها من از مقدار ‘__all__’ استفاده کرده ام، اگر بخواهیم تک تک فیلد ها را معرفی کنیم باید از کد زیر استفاده کنیم

from yourapplication.models import Student
from django import forms

class StudentForm(forms.ModelForm):
    class Meta:
        model = Student
        fields = ['FirstName' , 'LastName' , 'Address']

و اگر بخواهیم تمامی فیلد ها را به جز تعدادی اندک از آنها استفاده کنیم از روش زیر استفاده میکنیم

from yourapplication.models import Student
from django import forms

class StudentForm(forms.ModelForm):
    class Meta:
        model = Student
        exclude = ['Address']

کد بالا برای ما فرمی از روی مدل Student ایجاد میکند که تمامی فیلد های آن به جز آدرس را در خود جای داده است فقط دقت کنید اگر فیلدی را در فرم حذف میکنید مطمعن شوید که یا آن فیلد جزو فیلد های ضروری مدلتان نباشد و یا در قسمت ذخیره کردن فرم آن فیلد را جداگانه به instance خود معرفی میکنید


Admin Django Password Shell django filter form get python query required جنگو فرم پایتون

نظرات شما :

اقای تست
May 28, 2017, 3:11 p.m.

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.