Дјанго

Како направити основну претрагу за Дјанго локацију?

Како направити основну претрагу за Дјанго локацију?

Корисници обично дођу до одређеног садржаја било које странице путем Гоогле претраге. Међутим, ако је ова опција претраживања имплементирана на веб локацији, тада корисници могу лако пронаћи жељени садржај на веб локацији без употребе Гоогле претраге ... Још једна предност додавања опције претраживања унутар веб странице је та што програмер може правилно управљати излазним резултатима претраживања. То значи да он може да контролише који ће се садржај странице појавити или не. Овај водич ће приказати процес примене основне претраге на Дјанго локацији.

Предуслови:

Пре него што увежбате скрипту овог водича, морате извршити следеће задатке:

  1. Инсталирајте Дјанго верзију 3+ на Убунту 20+ (пожељно)
  2. Направите Дјанго пројекат
  3. Покрените Дјанго сервер да бисте проверили да ли сервер исправно ради или не.

Подесите апликацију Дјанго:

Покрените следећу команду да бисте креирали Дјанго апликацију која се зове сеарцхапп.

$ питхон3 управља.пи стартапп претраживач

Покрените следећу наредбу да бисте креирали корисника за приступ Дјанго бази података. Ако сте већ креирали корисника, тада не морате покретати команду.

$ питхон3 управља.пи ствара корисничког корисника

Додајте назив апликације у ИНСТАЛЛЕД_АПП део подешавања.пи датотека.

ИНСТАЛЛЕД_АППС = [

'сеарцхапп'
]

Направите фасциклу са именима предлошци унутар фасцикле сеарцхапп и поставите локацију предлога апликације у делу ТЕМПЛАТЕС у подешавањима.пи датотека.

ПРЕДЛОЗИ = [

… .
'ДИРС': ['/ хоме / фахмида / дјанго_про / сеарцхапп / темплатес'],
… .
,
]

Направите моделе:

Измените моделе.пи датотеку са следећом скриптом. Овде су дефинисане две класе за стварање две релационе табеле под називом типови књига и књиге. Поље типа табеле књига је страни кључ који ће се појавити из табеле типова књига.

модели.пи

# Увезите потребне модуле
од дјанго.дб модели увоза
од дјанго.урлс импорт реверсе
# Направите модел гор тип књиге
разред Тип књиге (модели.Модел):
бтипе = модели.ЦхарФиелд (мак_ленгтх = 100, јединствено = Труе)
класа Мета:
наручивање = ('бтипе',)
# Направите модел гор боок
разред Књига (модели.Модел):
име_књиге = модели.ЦхарФиелд (мак_ленгтх = 150)
име_аутора = модели.ЦхарФиелд (мак_ленгтх = 150)
врста = модели.ФореигнКеи (Тип књиге, он_делете = модели.КАСКАДА)
цена = модели.ФлоатФиелд ()
публикација = модели.ЦхарФиелд (мак_ленгтх = 100)
класа Мета:
наручивање = ('име_књиге',)
деф __стр __ (само):
вратити се.име_књиге
деф гет_урл (селф):
ретурн реверсе ('боок_детаил', аргс = [селф.ид])

Направите предлошке за претрагу:

Три ХТМЛ датотеке су потребне да бисте креирали функцију претраживања приказану у овом упутству. Ово су боок_лист.хтмл, детаљ_књиге.хтмл и претрага.хтмл. Листа књига.хтмл ће приказати све записе из табеле књига. Детаљ књиге.хтмл ће приказати детаље одређене књиге. Претрага.хтмл ће приказати резултат претраге након слања обрасца за претрагу.

боок_лист.хтмл



Листа књига










% иф типе% типе.име % елсе% Списак књига % ендиф%











% за к у књизи%

Икс.име_књиге


аутор к.име_аутора


$ к.Цена




% ендфор%



боок_детаил.хтмл





књига.име_књиге






књига.име_књиге




Аутор: књига.име_аутора


Тип: типе


Публикација: књига.публикација


Цена: $ књига.Цена







Претрага.хтмл



Резултат претраге









% иф куери%


% са резултатима.рачунати као укупне_резултате%
Пронађен је тотал_ресултс резултат тотал_ресултс | плурализе
% завршити %


% за ц у резултатима%

ц.име_књиге


ц.име_аутора


% празно%

Нема резултата.


% ендфор%
% ендиф%






Направите функције приказа:

Измените погледе.пи датотеку са следећом скриптом. У скрипти су дефинисане три функције. Функција боок_лист () ће приказати боок_лист.хтмл датотеку. Функција боок_детаил () ће приказати боок_детаил.хтмл. Функција сеарцх () претражиће записе на основу података достављених путем обрасца за претрагу и приказати резултат у претрази.хтмл.

погледа.пи

# Увезите потребне модуле
од дјанго.пречице увозе рендер, гет_објецт_ор_404
од .модели увозе Боок, Бооктипе
од дјанго.дб.модели увоз К
# Дефинишите функцију за приказ свих књига
деф боок_лист (захтев):
боок = Књига.предмета.све()
ретурн рендер (захтев, 'боок_лист.хтмл ', ' књига ': књига)
# Дефинишите функцију за приказ одређене књиге
деф боок_детаил (захтев, ид):
боок = гет_објецт_ор_404 (Боок, ид = ид)
врсте = врста књиге.предмета.све()
т = типови.гет (ид = књига.тип.ид)
ретурн рендер (захтев, 'боок_детаил.хтмл ', ' књига ': књига,' тип ': т.бтипе)
# Дефинишите функцију претраживања књиге
деф претрага (захтев):
резултати = []
ако захтев.метода == "ГЕТ":
упит = захтев.ДОБИТИ.гет ('претрага')
ако је упит == ":
куери = 'Ништа'
резултати = Књига.предмета.филтер (К (име_књиге__контентс = упит) | К (име_ауто__контанс = упит) | К (цена__контентс = упит))
ретурн рендер (захтев, 'претрага.хтмл ', ' упит ': упит,' резултати ': резултати)

Подесите путање на функције приказа позива:

Измените УРЛ адресе.пи датотеке Дјанго пројекта са следећом скриптом. У скрипти су дефинисане четири путање. „админ /“ путања се користи за отварање Дјанго административне контролне табле. Празна путања (") користи се за позивање функције боок_лист (). '/ 'путања се користи за позивање функције боок_детаил (). путања 'сеарцх /' користи се за позивање функције сеарцх ().

урл адресе.пи

# Увоз административног модула
од дјанго.допринос увоз админ
# Увоз модула путање
од дјанго.путања за увоз УРЛ адреса
# Увоз погледа
из претраживачких приказа за увоз
# Дефинишите путање
урлпаттернс = [
патх ('админ /', админ.сајт.урлс),
патх (", прикази.боок_лист, наме = 'боок_лист'),
патх ('/', виевс.детаљ_књиге, наме = 'детаљ_књиге'),
патх ('претрага /', прикази.сеарцх, наме = 'претрага'),
]

Покрените апликацију из прегледача:

Покрените следећу команду да бисте покренули Дјанго сервер.

$ питхон3 управља.пи рунсервер

Покрените следећу УРЛ адресу из било ког прегледача да бисте приказали листу књига из табеле.

хттп: // лоцалхост: 8000

Ако корисник кликне на везу „ПХП и МиСКЛ за динамичке веб локације“, тада ће се детаљи ове књиге појавити у прегледачу.

Ако корисник претражује реч, физику у прегледачу, у претраживачу ће се приказати следећи резултат претраге.

Закључак:

У овом водичу је имплементирана апликација Дјанго са основном опцијом претраживања помоћу табела базе података. Нови Дјанго програмери моћи ће да примене функцију претраживања на својој веб локацији након читања овог водича.

СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...