Најбољи начин да савладате Дјанго је да га користите за развој апликација пуног стека. Наићи ћете на многе фасцинантне карактеристике када радите са оквиром. Један од њих је како да прикажете обрасце у шаблонима користећи хрскаве форме.
Коришћење дјанго-цриспи-формс је један од многих начина на које можете да прикажете обрасце у Дјангу. Зависност вам омогућава да креирате обрасце у шаблонима без писања ХТМЛ кода. Можете лако да направите распореде за вишекратну употребу без муке са писањем кода обрасца.
Можете сазнати више тако што ћете инсталирати библиотеку, затим је конфигурисати и користити је за креирање обрасца за регистрацију.
Како функционише дјанго-цриспи-формс
Тхе библиотека дјанго-цриспи-формс долази са уграђеним ХТМЛ кодом који можете прилагодити својим потребама. Укључује филтер под називом |цреспи који приказује форме засноване на див у шаблону.
Тхе {% хрскаво %} тагови ће рендеровати форме у складу са одређеним подешавањима.дјанго-цриспи-формс добро функционише са другим зависностима шаблона као што су Боотстрап и Таилвинд ЦСС.
Хајде да видимо како то функционише у шаблону.
Инсталирајте Цриспи Формс
Старт би креирање Дјанго пројекта и апп. Затим инсталирајте најновију верзију дјанго-цриспи-формс користећи Пипенв са следећом командом:
пипенв инсталирај дјанго-цреспи-формс
Успешна инсталација ће изгледати као на слици испод:
Конфигуришите дјанго-цриспи-формс у подешавањима
Након инсталације, морате регистровати хрскаве обрасце као зависност у поставкама пројекта. Ако га региструјете, библиотека хрскавих образаца ће бити доступна свим апликацијама у пројекту.
У пројекту сеттингс.пи датотеку, додајте стринг 'цриспи_формс':
ИНСТАЛЛЕД_АППС = [
'дјанго.цонтриб.админ',
'дјанго.цонтриб.аутх',
'дјанго.цонтриб.цонтенттипес',
'дјанго.цонтриб.сессионс',
'дјанго.цонтриб.мессагес',
'дјанго.цонтриб.статицфилес',
'миапп',
'цриспи_формс',
]
Направите образац
Морате да синхронизујете образац за регистрацију са уграђеним Дјанго обрасцем за креирање корисника да бисте помогли у аутентификацији.
Уграђени Дјанго аутентификација корисника систем се бави уобичајеним захтевима као што су валидација лозинки и издавање дозвола.
Систем такође управља валидацијом обрасца уместо вас. Тако можете да креирате обрасце без муке да сами рукујете валидацијом. Ако сте проверу ваљаности обрасца обавили у другим оквирима, знаћете колико то може бити гломазно. Не са Дјангом.
Модул за аутентификацију има а Корисник модел или објекат. Тхе Корисник објекат је главна компонента система за аутентификацију корисника. Он управља дозволама, аутентификацијом профила регистрованих корисника, контролом приступа и још много тога.
Тхе УсерЦреатионФорм користи уграђени Корисник објект за регистрацију нових корисника. Наслеђује класу МоделФорм.
Прво, увезите обрасце из Дјанго модула форме. Затим увезите УсерЦреатионФорм из дјанго.цонтриб.аутх.формс. Такође, увезите уграђене Корисник модел из дјанго.цонтриб.аутх.моделс. Затим увезите уносе поља из дјанго МоделФорм-а.
из дјанго увоз форме
издјанго.цонтриб.аутх.формсувозУсерЦреатионФорм
издјанго.цонтриб.аутх.моделиувозКорисник
из дјанго.формс увоз МоделФорм, ТектИнпут, ЕмаилИнпут, ИмагеФиелд, Тектареа
Затим креирајте објекат регистрације под називом РегистерУсерФорм. Потребно је УсерЦреатионФорм као аргумент. Додајте Корисник објектна поља као што су аутентификација е-поште, корисничко име и две лозинке.
класаРегистерУсерФорм(УсерЦреатионФорм):
емаил = обрасци. ЕмаилФиелд (макс_ленгтх=254, хелп_тект='Потребан. Унесите исправну е-маил адресу.')
класаМета:
модел = Корисник
поља = ('корисничко име', 'емаил', 'лозинка1', 'лозинка2')
Ова поља су примарни атрибути корисника на обрасцу за регистрацију. Они су обавезни улази које корисници морају да попуне да би их систем потврдио.
Креирајте функцију приказа
Затим ћете креирати функцију прегледа за образац за регистрацију. Прво увезите функцију рендеровања као и РегистерУсерФорм из формс.пи. Затим увезите Корисник модел из дјанго.цонтриб.аутх.моделс.
Функција прегледа под називом регистар преузима РегистерУсерФорм. То ће га приказати на регистер.хтмл шаблон.
из дјанго.схортцутс увоз дати, пружити,
из дјанго.хттп увоз ХттпРеспонсе, Хттп404
из .формс увоз РегистерУсерФорм
издјанго.цонтриб.аутх.моделиувозКорисник
дефрегистровати(захтев):
форм=РегистерУсерФорм
цонтект={'форму':форма}
врати рендер (захтев,'регистер.хтмл',контекст)
Креирајте УРЛ путању
Направите УРЛ путању за регистер.хтмл шаблон. Ова УРЛ адреса је путања за функцију приказа коју сте управо креирали. Дајте му име регистровати, тако да можете користити име да га позовете на шаблону.
из дјанго.урлс увоз пут
из. увоз погледа
урлпаттернс=[
пут ('регистровати', виевс.регистер, наме='регистровати'),
]
Учитај на шаблону
Сада када имате приказ и УРЛ путању, можете креирати регистер.хтмл шаблон у фолдеру апликације. Користићете дјанго-цриспи-формс да бисте приказали РегистерУсерФорм.
У регистер.хтмл шаблон, проширите басе.хтмл. Тхе басе.хтмл садржи Боотстрап везе користићете за стилизовање обрасца за регистрацију. Затим учитајте дјанго-цриспи-формс са регистер.хтмл користећи ознаке шаблона.
{% продужава 'басе.хтмл' %}
{% лоад цриспи_формс_тагс %}
{% блок садржаја %}
<див цласс="контејнер" стиле="">
<див цласс="ред">
<див цласс="цол-мд-2"></div>
<див цласс="цол-мд-8">
<див цласс="картица" стиле="боја Црна;">
<див цласс="картица-тело">
<х5 цласс="картица-наслов"><а>Региструјте се да будете члан</а><спан стиле="плутати: десно">Да ли сте члан? <а хреф="#" цласс="текст-примарни">Лог ин сада</а></span></h5>
<див цласс="картица-текст">
<форм ацтион="" метход="ПОШТА" новалидате>
{% цсрф_токен %}
{{ образац|хрскаво}}
<тип дугмета="прихвати" цласс="бтн бтн-примарни бтн-см"> Регистровати</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% ендблоцк %}
Форма укључује цсрф_токен, који штити процес регистрације од хакера. Рендер форме са истим именом променљиве као у функцији приказа. Затим додајте |хрскаво филтер за Дјанго {{форма}} променљива. Ово ће форму приказати као хрскаву форму.
Покрените сервер. Затим проверите апликацију у прегледачу на http://127.0.0.1:8000/register. Требало би да видите образац приказан као што је приказано у наставку:
Испунили сте образац за регистрацију користећи хрскаве формуларе! Обратите пажњу да је Дјанго аутоматски додао валидацију обрасцу. То укључује захтеве као што су дозволе за корисничко име и лозинку.
Да бисте имали комплетан систем регистрације, додајте логику аутентификације у функцију прегледа. Такође можете додати страницу за пријаву да бисте се пријавили регистрованим корисницима. Корисници би требало да испуне захтеве за аутентификацију да би се пријавили у апликацију.
Библиотека дјанго-цриспи-формс вам омогућава да брзо и лако прикажете валидиране обрасце. Потврђивање података осигурава да имате тачне податке од својих корисника.
Подаци су корисни када комуницирате са корисницима и анализирате метрику учинка.
Зашто користити дјанго-цриспи-формс?
Коришћење библиотеке хрскавих форми за рендеровање образаца у Дјангу је одличан пример како применити ДРИ принцип. дјанго-цриспи-формс креира компоненте за вишекратну употребу које можете да прикажете у шаблонима.
Долазе са уграђеним ХТМЛ кодом. Код ће вам уштедети муке око структурирања и валидације образаца. Хрскави обрасци пружају ознаку и филтер који приказује обрасце у див формату. Они такође пружају могућност конфигурисања и контроле приказаног ХТМЛ-а.
дјанго-цриспи-формс добро ради са Дјанго системом аутентификације. Можете креирати систем аутентикације да верификујете своје кориснике без писања много кода.