فرم ها در جنگو

فرم ها در جنگو

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

در روت هر اپلیکیشن پروژه جنگویی میتونید یک فایل با نام 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/06/13 _ 21:25:53

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

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

ادامه مطالعه

migrate rollback در ترمینال جنگو

00/06/13 _ 21:26:31

migrate rollback در ترمینال جنگو

برای برگشت به مرحله قبلی مدل، ترمینال خود را باز کرده (ترمینال IDE یا خط فرمان سیستم عامل را در مسیر پروژه مورد نظر) و دستورات زیر را مرحله به …

ادامه مطالعه

چت در جنگو با channels

00/10/15 _ 07:18:14

بعد از ایجاد پروژه اپ جدیدی بسازید برای من اسمش هست chats اقدام به نصب پکیج های زیر کنید. channels channels-redis بعد از نصب لازمه که&nbsp;channels رو به لیست&nbsp;INSTALLED_APPS در …

ادامه مطالعه

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

نظرات