{{ 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-ի կարողությունները, հիշեք, որ արդիական մնաք ամենավերջին լավագույն փորձի, գործիքների և ընթացակարգերի հետ՝ երաշխավորելու ձեր նախագծերը շարունակաբար արդյունավետ, անվտանգ և օգտագործողի համար հարմար: