Питхон

Како се користи Дјанго канал

Како се користи Дјанго канал
Дјанго је популаран Питхон оквир који се користи за развој веб апликација помоћу ВГСИ (Интерфејс мрежног пролаза сервера) и АСГИ (Асинцхроноус Сервер Гатеваи Интерфаце) спецификације сервера. ВГСИ се користи за развој синхроних Питхон апликација, а АГСИ за развој асинхроних и синхроних веб апликација. Цханнел је корисна карактеристика Дјанго-а која се користи за руковање ВебСоцкет-ом, протоколом ћаскања итд. заједно са ХТТП протоколом. Канал је изграђен на основу спецификација АСГИ сервера. Двосмерна интерактивна сесија комуникације између корисничког прегледача и сервера може се отворити помоћу ВебСоцкет. Клијент покреће ВебСоцкет везу и сервер одговара знаком прихвати или Близу поруку. Тхе ВебСоцкет поруке се гурају у канал помоћу произвођачи и послао у потрошачи који слушају на каналу. Овај водич вам показује како се користи канали за руковање ВебСоцкет поруке.

Предуслови

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

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

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

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

Покрените следећу команду да бисте инсталирали канал:

$ пип инсталациони канали

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

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

'канали',
'соцкетапп'
]

Дефинишите вредност АСГИ_АППЛИЦАТИОН у подешавања.пи датотека:

АСГИ_АППЛИЦАТИОН = 'цханнел_про.асги.апликација'

Направите фасциклу са именом предлошци унутар соцкетапп директоријума и поставите локацију предлошка у апликацији у ПРЕДЛОЗИ део подешавања.пи датотека:

ПРЕДЛОЗИ = [

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

Следећи излаз ће се појавити у терминалу након покретања Дјанго сервера. Резултат показује да АСГИ / Канали верзија 3.0.3 ради.

Направите датотеку шаблона са именом индекс.хтмл на дефинисаној локацији шаблона за приказ података које шаље ВебСоцкет. Објекат соцкет који је креиран помоћу ЈаваСцрипт-а чита податке помоћу ЈСОН-а.парсе () метода, а затим пренесите вредност у садржај датотеке

ознака која садржи вредност ИД, 'мсг.'

индекс.хтмл





Водичи за Дјанго Цханнел




тект




Измените погледа.пи досије соцкетапп са следећим садржајем. Тхе индекс.хтмл Датотека шаблона ће се приказати у прегледачу помоћу текст променљива када је индекс () метода ове скрипте позива се из урл адресе.пи датотека. Ако се из утичнице не преноси порука, тада се приказује текст 'ЛинукХинтће бити приказано у прегледачу.

погледа.пи

# Увезите модул за приказивање из Дјанга
од дјанго.пречице импорт рендер
# Креирајте функцију индекса за приказ ХТМЛ датотеке у прегледачу
деф индекс (захтев):
ретурн рендер (захтев, "индекс.хтмл ", цонтект = 'тект': 'ЛинукХинт')

Измените урл адресе.пи досије соцкетапп са следећим садржајем. У скрипти су дефинисана два пута: 'админ /'путања се користи за отварање контролне табле Дјанго администрације, а'мсг /'путања се користи за читање поруке ВебСоцкет.

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

од дјанго.допринос увоз админ
од дјанго.путања за увоз УРЛ адреса
из приказа увоза соцкетапп
урлпаттернс = [
патх ('админ /', админ.сајт.урлс),
патх ('мсг /', виевс.индекс)
]

Када се изврши следећа УРЛ адреса без дефинисања потрошача и датотека усмеравања, ХТТП протокол ће радити и појавиће се следећи излаз.

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

Сада креирајте потрошачи.пи датотека унутар соцкетапп директоријум са следећом скриптом. Тхе цоннецт () метод вс_цонсумер користиће се за прихватање соцкет везе, читање тренутне вредности времена сваке секунде и слање тренутног времена у ЈСОН формату путем ВебСоцкет-а када се овај метод позове из датотеке усмеравања.

потрошачи.пи

# Увоз ЈСОН модула
импорт јсон
# Увези ВебсоцкетЦонсумер
са канала.општи.вебсоцкет импорт ВебсоцкетЦонсумер
# Увоз модула за датум и време
од датетиме увоз датетиме
# Увези модул спавања
од времена увозни сан
# Дефинишите класу потрошача за слање података путем ВебсоцкетЦонсумер
класа вс_цонсумер (ВебсоцкетЦонсумер):
деф повезивање (само):
себе.прихвати ()
вхиле (Тачно):
сада = датум и време.Сада()
себе.послати (јсон.одлагалишта ('тимеВалуе': сада.стрфтиме ("% Х:% М:% С")))
спавање (1)

Направите усмеравање.пи унутар соцкетапп директоријум са следећом скриптом. Тхе 'мсг /'пут је дефинисан у скрипти за позивање потрошача ради слања података у утичницу.

усмеравање.пи

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

Измените асги.пи датотека са следећом скриптом. Модули који су потребни за обраду ХТТП и ВебСоцкет захтева увозе се у скрипту.

асги.пи

# Увоз ос модула
импорт ос
# Увезите гет_асги_апплицатион за обраду хттп протокола
од дјанго.језгро.асги импорт гет_асги_апплицатион
# Увезите ПротоцолТипеРоутер и УРЛРоутер да бисте поставили усмеравање вебсоцкет-а
са канала.усмјеравање увоза ПротоцолТипеРоутер, УРЛРоутер
# Увезите АутхМиддлевареСтацк за руковање вебсоцкетом
са канала.аутх импорт АутхМиддлевареСтацк
# Увези усмеравање веб странице
од соцкетапп.усмјеравање увоза вс_урлпаттернс
# Доделите вредност за ДЈАНГО_СЕТТИНГС_МОДУЛЕ
ос.околина.сетдефаулт ('ДЈАНГО_СЕТТИНГС_МОДУЛЕ', 'цханнел_про.подешавања ')
# Дефинишите променљиву апликације која ће обрађивати хттп и вебсоцкет
апплицатион = ПротоцолТипеРоутер (
'хттп': гет_асги_апплицатион (),
'вебсоцкет': АутхМиддлевареСтацк (УРЛРоутер (вс_урлпаттернс))
)

Сада поново покрените следећу УРЛ адресу из прегледача да бисте прочитали податке из ВебСоцкет-а.

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

Ако потрошач и рутер исправно раде, следећи дигитални сат ће бити приказан у прегледачу. Овде је рутер послао захтев ВебСоцкет користећи 'мсг /'пут до потрошача који је прихватио захтев и послао податке на образац да би се приказао дигитални сат у прегледачу где се друга вредност тренутног времена ажурира сваке секунде.

Закључак

Овај водич вам је показао како да примените апликацију у реалном времену помоћу Дјанго оквира и канала стварањем једноставног дигиталног сата. Друге врсте апликација у реалном времену такође се могу применити помоћу Дјанго-а и канала, попут система за ћаскање на мрежи. Скрипте коришћене у овом упутству раде само за верзије Дјанго 3+ и Цханнел 3+. Дакле, ако користите старију верзију Дјанго-а или Цханнел-а, мораћете да надоградите верзију пре тестирања скрипте дате у овом упутству.

10 најбољих игара за играње на Убунту-у
Виндовс платформа је била једна од доминантних платформи за играње игара због огромног процента игара које се данас развијају да би подржале Виндовс. ...
5 најбољих аркадних игара за Линук
У данашње време рачунари су озбиљне машине које се користе за игре на срећу. Ако не успете да добијете нови високи резултат, знаћете на шта мислим. У ...
Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...