فرم ها در جنگو

فرم ها در جنگو

فرم ها در جنگو چه کاربردی دارند و به چه روش هایی ایجا می شوند.

در روت هر اپلیکیشن پروژه جنگویی میتونید یک فایل با نام forms.py ایجاد کنید تا برای اعتبار سنجی اطلاعات، ساخت ویو راحت و سریع، و هندل کردن درخواست ازش بهره بگیرید.

 

 

برای این ابتدا کافیه یک فایل با نام forms.py در روت اپلیکیشن مورد نظر ایجا کنید.

class LoginForm(forms.Form):
    user_name = forms.CharField(
        widget=forms.TextInput(attrs={'placeholder': 'لطفا نام کاربری خود را وارد نمایید'}),
        label='نام کاربری'
    )

    password = forms.CharField(
        widget=forms.PasswordInput(attrs={'placeholder': 'لطفا کلمه عبور خود را وارد نمایید'}),
        label='کلمه ی عبور'
    )

در بالا ما یک فرم که از forms.Form ارث بری می کند ساختیم.

برای استفاده از فرم ها فقط به دو مرحله تغییر نیاز داریم

1-در فایل views.py اگر از ClassBaseView (که تو مقاله بعدی در موردش آموزش میدم) استفاده میکنید فیلد form_class را برابر با نام کلاس فرمی که ساختید قرار بدید مثل مثال ذیل

form_class = AccountLogin

و اگر از فانکشن ها استفاده میکنید با یک نام دلخوام (ترجیحا با کلمه form) خاتمه یابد یک متغیر ایجاد کرده و به شکل ذیل برابر با نام کلاس فرم خود قرار دهید.

login_form = AccountLogin(request.POST or None)
2- به لایه ویو (html) خود رفته و نامی متغیر را با شکل ذیل قرار دهید.

در صورت استفاده از فانکشن


    <form action="{% url 'accounts:login' %}" method="post" class="w-50 bg-light p-5 justify-content-center align-items-center">
        {% csrf_token %}


{{ login_form }}
  
   


           <br>
            <button class="btn btn-primary mt-3 w-100 " type="submit">ورود</button>
       </form>

درصورت استفاده از ClassBaseView ها


    <form action="{% url 'accounts:login' %}" method="post" class="w-50 bg-light p-5 justify-content-center align-items-center">
        {% csrf_token %}


{{ form }}
  
   


           <br>
            <button class="btn btn-primary mt-3 w-100 " type="submit">ورود</button>
       </form>

 

 

ارث بری در فرم های جنگو

برای ساخت فرم ها در جنگو میتونیم از دو کلاس Form و یا کلاس ModelForm ارث بری کنیم.

توسعه فرم ها در جنگو با ارث بری از کلاس Form کمی وقت گیر تر از کلاس ModelForm هست و بشخصه ارث بری از کلاس ModelForm رو ترجیح میدم.

 

فیلدر های فرم در جنگو

در جنگو فیلد های زیادی برای فرم ها وجود داره که به توضیح چند مورد از اون ها میپردازیم:

  1. model
  2. fields
  3. widgets
  4. error_messages


این پست هنوز کامل نشده!

امتیاز شما به این مقاله ؟

5 \ None

برچسب ها

سایر مقالات

جنگو | جداکردن اعداد از هم

00/07/04 _ 03:20:07

جنگو | جداکردن اعداد از هم

برای جدا کردن سه رقم به سه رقم مبلغ از هم میتونید از پکیج&nbsp;humanize استفاده کنید فقط کافیه مراحل زیر رو دنبال کنید. &nbsp; 1-به فایل setting خود مراجعه کرده …

ادامه مطالعه

تگ های قالب در جنگو

00/06/13 _ 21:27:48

تگ های قالب در جنگو

در این مقاله به تگ های قالب در جنگو میپردازیم. این مقاله بصورت مداوم بروزرسانی خواهد شد. &nbsp; 1-&nbsp; {%url%}&nbsp;&nbsp; استفاده : جلوگیری از هارد کد کردن لینک های فایل …

ادامه مطالعه

ارث بری در مدل جنگو

00/06/13 _ 21:25:53

ارث بری در مدل جنگو

تو پست قبلی با عنوان استفاده از UUID در مدل جنگو اومدیم و بجای ارث بری از models.Model از یک مدل دیگه به نام CommonModel ارث بری کردیم که قرار …

ادامه مطالعه

برای ثبت نظر لطفا وارد حساب کاربری خود شوید یا ثبت نام کنید.

نظرات