{{ form.as_table }} – Ներկայացրեք Django Forms-ը որպես աղյուսակ


Վեբ զարգացման ասպարեզում Django-ն հայտնվել է որպես հայտնի, բաց կոդով և բարձր մակարդակի Python ինտերնետային շրջանակ, որը խրախուսում է արագ կատարելագործումը և հեշտ, պրագմատիկ դիզայնը: Django-ն պարծենում է սարքերի հետ դիմակայելու հզոր ձևով, որը թույլ է տալիս ծրագրավորողներին առանց ջանքերի ստեղծել, վավերացնել և մշակել փաստաթղթերը: Django-ի սարքերի հետ առնչվող ձևի կարևոր բաղադրիչը ձևերը որպես HTML աղյուսակներ ներկայացնելու նրա ներուժն է:

Այս գրառման մեջ մենք կանցնենք Ջանգոյի ձևերը որպես աղյուսակներ ներկայացնելու ընթացակարգը, որը ներառում է օրհնությունները, ինչպես ստանալ դա և մի քանի բացառիկ պրակտիկա, որոնք պետք է դիտարկել: Այս գրառման ավարտին դուք կունենաք ուժեղ տեղեկատվություն այն մասին, թե ինչպես պարզեցնել ձեր վեբ մշակման մեթոդը՝ Django-ի ձևերը որպես աղյուսակներ արդյունավետ դարձնելու միջոցով:

Ինչու՞ ներկայացնել Django ձևերը որպես աղյուսակ:

Django ձևերը որպես աղյուսակներ մատուցելը կարող է մի շարք առավելություններ ապահովել վեբ մշակողների համար: Այս առավելություններից մի քանիսը ներառում են.

  • Կառուցվածքային դասավորություն. ձևի գործոնների ցուցադրումը աղյուսակում ապահովում է հարթ և պատրաստված դասավորություն, ինչը հաճախորդների համար հեշտացնում է ձևի ընկալումը և փոխազդեցությունը:

  • Պատասխանատու դասավորություն. CSS-ի պատշաճ ձևով աղյուսակները կարող են առանց դժվարության հարմարվել էկրանի հատուկ չափերին և սարքերին՝ համոզվելով, որ մշտական մարդը վայելում է մի քանի համակարգեր:

  • Բարելավված պահպանում. Ձևերը որպես աղյուսակներ մատուցելով՝ ծրագրավորողները կարող են նվազեցնել ուղեցույցի HTML և CSS կոդի քանակը, որը նրանք ցանկանում են գրել գրավոր՝ դարձնելով ավելի քիչ դժվարացնելով ձևաթղթերը պահելն ու թարմացնելը:

  • Մատչելիություն. աղյուսակների օգտագործումը ձևաթղթերի մատուցման համար կարող է բարելավել հաշմանդամություն ունեցող հաճախորդների հասանելիությունը, քանի որ էկրանի ընթերցողները կարող են ավելի լավ մեկնաբանել ձևը և հարաբերությունները ձևի գործոնների միջև:

Ինչպես ներկայացնել Django ձևերը որպես աղյուսակ

Այժմ, երբ մենք հասկանում ենք Django ձևերը որպես աղյուսակներ ներկայացնելու առավելությունները, եկեք ուսումնասիրենք դրան հասնելու քայլերը:

Տեղադրվելիք փաթեթներ

Տեղադրեք Django. Բացեք ձեր տերմինալը և մուտքագրեք հետևյալ հրամանը՝ Django-ն տեղադրելու համար

pip install django

Ստեղծեք նոր Django նախագիծ. Դեռևս ձեր տերմինալում մուտքագրեք հետևյալ հրամանը՝ նոր Django նախագիծ ստեղծելու համար.

django−admin startproject myproject

Նավարկեք ձեր նախագծի գրացուցակում

cd myproject

Ստեղծեք նոր Django հավելված

python manage.py startapp myapp

Ստեղծեք նոր ֆայլ forms.py Myapp գրացուցակում

Սկզբից մենք պետք է կազմենք Django ձևը: Դա կիրականացվի՝ ձեր forms.py ֆայլում ձևի դասը բնութագրելով՝ ձեռք բերելով django.forms.ModelForm կամ django.forms.Form-ից:

  • Ներմուծեք հիմնական մոդուլները՝ ձևերը django փաթեթից և Օգտվողի մոդելը ընթացիկ հավելվածի models.py ֆայլից:

  • Ստեղծեք ձևի դաս, որը կոչվում է UserForm, որը ժառանգում է forms.ModelForm-ից:

  • UserForm դասի ներսում ստեղծեք տեղադրված Meta դաս:

  • Meta դասի մոդելի հատկանիշը սահմանեք User model-ին: Սա Django-ին ասում է, որ ձևը կօգտագործվի Օգտատիրոջ օրինակներ ստեղծելու կամ խմբագրելու համար:

  • Ստեղծեք դաշտերի անունների ցանկ Meta դասի դաշտերի որակի շրջանակներում: Սրանք այն դաշտերն են, որոնք կներառվեն ձևի մեջ:

from django import forms
from .models import User

class UserForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ['first_name', 'last_name', 'roll_no', 'password']

Թարմացրեք views.py-ը Myapp գրացուցակում

Կոդը ներմուծում է UserForm-ը ձևերից և օգտագործում այն user_form_view ֆունկցիայում, որը ձևը վերածում է «form.html»-ի:

from django.shortcuts import render
from .forms import UserForm

def user_form_view(request):
    form = UserForm()
    return render(request, 'form.html', {'form': form})

Ստեղծեք նոր գրացուցակի ձևանմուշներ myapp գրացուցակում և ստեղծեք նոր ֆայլ form.html կաղապարների գրացուցակում

Հետևելով, մենք պատրաստվում ենք օգտագործել Django-ի ներկառուցված մեթոդը ձևերը որպես աղյուսակներ ներկայացնելու համար՝ as_table մեթոդը: Ձեր ձևանմուշում դուք կկանչեք as_table մեթոդը ձևի առաջացման դեպքում, ինչպես ստորև.

  • Ստեղծեք HTML շրջանակի բաղադրիչ «POST» հատկության մեթոդով՝ նշելու, որ շրջանակը կօգտագործի POST ռազմավարությունը՝ տվյալներ ներկայացնելիս:

  • Օգտագործեք {% csrf_token %} ձևաչափի թեգը՝ ձևաթղթում ներառելու CSRF նշան, որը թույլ է տալիս պաշտպանվել միջկայքային հարցումների իմիտացիոն հարձակումներից:

  • Ստեղծեք HTML աղյուսակի տարր:

  • Աղյուսակի տարրի ներսում օգտագործեք {{ form.as_table }} կաղապարի թեգը՝ Django ձևը որպես աղյուսակ ներկայացնելու համար: Սա կստեղծի կենսական HTML-ը յուրաքանչյուր ձևի դաշտի համար, որտեղ յուրաքանչյուր դաշտ կցուցադրվի իր աղյուսակի տողում:

  • Ավելացրեք HTML ներածման բաղադրիչ «submit» հատկանիշով՝ ձևաթղթի համար ուղարկելու կոճակ ձևավորելու համար:

<form method="POST">
  {% csrf_token %}
  <table class="form-table" style="width: 100%;">
    {{ form.as_table }}
  </table>
  <input type="submit" value="Submit">
</form>

Թարմացրեք urls.py-ը myapp գրացուցակում

Կոդի այս հատվածը ստեղծում է URL երթուղի Django հավելվածի myapp-ի համար: Այն սահմանում է ուղի օգտագործողի ձևի դիտման համար բազային URL-ում:

from django.urls import path
from .views import user_form_view

urlpatterns = [
    path('', user_form_view, name='user_form'),
]

Թարմացրեք urls.py-ը Myproject գրացուցակում

Այս կոդը կարգավորում է հիմնական URL-ի կոնֆիգուրացիաները Django նախագծի myproject-ի համար: Այն ներառում է URL-ի կոնֆիգուրացիաներ ինչպես ադմինիստրատորի կայքի, այնպես էլ myapp հավելվածի համար:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

Գործարկեք սերվերը

python manage.py runserver

Այժմ, եթե նավարկեք դեպի http://127.0.0.1:8000/ ձեր վեբ բրաուզերում, դուք պետք է տեսնեք ձեր ձևը: Սա ձեր Django հավելվածի «արդյունքն» է:

Արդյունք

Մենք դա արել ենք: Մեր Django ձևը հաջողությամբ ներկայացվել է որպես աղյուսակ: Ահա օգտվողի գրանցման վերջնական ձևը, որը նրբագեղ կերպով ցուցադրում է չորս դաշտ:

Django-ում վեբ հավելվածը բաղկացած է մի քանի փոխկապակցված մասերից, և հնարավոր չէ այն խտացնել մեկ, ինքնուրույն Python սկրիպտի մեջ, որը կարող եք գործարկել վահանակում ելքի համար:

Ջանգոյի ձևերը որպես աղյուսակ ներկայացնելու լավագույն փորձը

Օգտատիրոջ հնարավոր լավագույն փորձառությունն ու պահպանումն ապահովելու համար հետևեք այս լավագույն փորձին Django ձևերը որպես աղյուսակներ ներկայացնելիս.

  • Օգտագործեք իմաստային նշում. Օգտագործեք հարմարեցված աղյուսակի բաղադրիչները, ինչպիսիք են գագաթը, tbody և tfoot-ը՝ ավելի լավ կարգավորումներ և առաջընթացի մատչելիություն ապահովելու համար:

  • Ավելացրեք անուններ և տեղապահներ. Անկասկած թույլ տվեք ներառել անուններ յուրաքանչյուր ձևի դաշտի, ինչպես նաև տեղապահների համար՝ օգտատերերին ուղղորդելու ձևերի լրացման գործընթացին:

  • Կիրառեք պատասխանատու պլան. Համոզվեք, որ ձեր աղյուսակը պատասխանատու է՝ օգտագործելով CSS մեդիա հարցումները կամ CSS շրջանակը, ինչպիսին է Bootstrap-ը, որը տալիս է պատասխանող աղյուսակների դասեր:

  • Իրականացրեք CSRF պաշտպանությունը. պաշտպանեք ձեր ձևերը խաչմերուկային հարցումների կեղծման (CSRF) հարձակումներից՝ ներառելով {% csrf_token %} կաղապարի պիտակը ձեր ձևի տարրի մեջ: Django-ն ավտոմատ կերպով կկարգավորի CSRF պաշտպանությունը, երբ այս պիտակը օգտագործվի:

Եզրակացություն

Django-ի ձևերը որպես աղյուսակներ մատուցելը առաջարկում է տարբեր առավելություններ՝ հաշվի առնելով կազմակերպված ձևաչափը, արձագանքող դիզայնը, առաջադեմ պահպանումը և բարելավված հասանելիությունը: Կատարելով այս հոդվածում նկարագրված քայլերը և հետևելով լավագույն պրակտիկաներին՝ դուք լավ սարքավորված կլինեք ստեղծելու պարզեցված, օգտագործողի համար հարմար և կենսունակ վեբ հավելվածներ՝ օգտագործելով Django:

Երբ դուք շարունակում եք ստեղծել ձեր Django-ի կարողությունները, հիշեք, որ արդիական մնաք ամենավերջին լավագույն փորձի, գործիքների և ընթացակարգերի հետ՝ երաշխավորելու ձեր նախագծերը շարունակաբար արդյունավետ, անվտանգ և օգտագործողի համար հարմար: