Програмування в інтернет. Лекція 2

Содержание

Слайд 2

МАРШРУТИЗАЦІЯ. ЗАПИТИ І ВІДПОВІДІ СЕРВЕРА

Лекція 2

МАРШРУТИЗАЦІЯ. ЗАПИТИ І ВІДПОВІДІ СЕРВЕРА Лекція 2

Слайд 3

ОБРОБКА ЗАПИТУ DJANGO

Django визначає який кореневий модуль UrlConf використовувати. Зазвичай це настройка

ОБРОБКА ЗАПИТУ DJANGO Django визначає який кореневий модуль UrlConf використовувати. Зазвичай це
ROOT_URLCONF
Django завантажує модуль конфігурації URL і шукає зміну urlpatterns. Це повинен бути список екземплярів Django.conf.urls.url() або path+repath 2.0 version
Path вказує рядок запиту однозначно, а repath – як RegEx
Django перебирає кожен шаблон URL по порядку і зупиняється при першому співпадінні із шаблоном.
Якщо один із регулярних виразів співпадає з URL, Django імпортує і викликає відповідне представлення, що є функцією Python
Якщо жоден вираз не співпадає або виникла помилка на будь-якому етапі, Django викликає відповідний обробник помилок.

Слайд 4

Кореневий файл маршрутизації вказується у параметрах файлу settings.py

Кореневий файл маршрутизації вказується у параметрах файлу settings.py

Слайд 5

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ

Перелік символів ([abc]) abc[xyz]t = > abcxt, abcyt, abczt
[az-], [-az],

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ Перелік символів ([abc]) abc[xyz]t = > abcxt, abcyt, abczt
[a-z] – 26 малих латинських букв
Метасимволи
^ - початок рядка,
$ - кінець рядка,
\A – початок тексту
\Z – кінець тексту
. Будь-який символ в рядку
Набір символів у дужках називається символьним класом і дозволяє вказати інтерпретатору, що на даному місці рядка може стояти один із перечислених символів

Слайд 6

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ

Метасимволи – стандартні переліки символів
\w – буквено-цифровий символ або “_”
\W

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ Метасимволи – стандартні переліки символів \w – буквено-цифровий символ
– не \w
\d – цифровий символ
\D – не \d
\s – будь-який “пробільний” символ (по замовчуванню - \t\n\r\f)
\S – не \s
Метасимволи-варіанти:
Test(qwe|abc) знаходить ‘testqwe’ або ‘testabc’

Слайд 7

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ

Метасимволи – повтори
* нуль або більше раз
+ один або більше

СИНТАКСИС РЕГУЛЯРНИХ ВИРАЗІВ Метасимволи – повтори * нуль або більше раз +
раз
? нуль або один раз
{n} точно n раз
{n,} не менше n раз
{n,m} не менше n але не більше m раз

Слайд 8

ЖАДІБНІСТЬ РЕГУЛЯРНИХ ВИРАЗІВ

b+ як і b* поверне з abbbbc-> bbbb
b+? поверне перше

ЖАДІБНІСТЬ РЕГУЛЯРНИХ ВИРАЗІВ b+ як і b* поверне з abbbbc-> bbbb b+?
входження b
b*? –поверне пустий рядок, оскільки нижня межа запиту 0
b{2,3}? –знайде два символи bb
b{2,3} без «?» жадібний і знайде 3 входження bbb

Слайд 9

МАРШРУТИЗАЦІЯ

МАРШРУТИЗАЦІЯ

Слайд 10

МАРШРУТИЗАЦІЯ З ПАРАМЕТРАМИ

Синтаксис Python іменованих груп: (?Ppattern)
Url(r’^item/(?P[\d]{4})/(?P[0-9]{2}/(?P[\d]{2})$’, views.day_archive , name = “day_archive”)
Запит

МАРШРУТИЗАЦІЯ З ПАРАМЕТРАМИ Синтаксис Python іменованих груп: (?P pattern) Url(r’^item/(?P [\d]{4})/(?P [0-9]{2}/(?P
до /item/2019/02/20/ викликатиме функцію views.day_archive(request, year=‘2019’, month=‘02’, day = ‘20’), замість views.day_archive(request, ‘2019’, ’02’ , ‘20’).
Алгоритм відповідності/групування
Якщо існує іменований аргумент, то він буде використаний замість позиційного аргумента. Інакше всі неіменовані параметри будуть передані як іменовані аргументи.

Слайд 11

ЗНАЙДЕНІ АРГУМЕНТИ ЗАВЖДИ РЯДКИ

Кожен знайдений аргумент передається в представлення як рядок, незалежно

ЗНАЙДЕНІ АРГУМЕНТИ ЗАВЖДИ РЯДКИ Кожен знайдений аргумент передається в представлення як рядок,
від того, яке “співпадіння” визначено в регулярному виразі
Значення по замовчуванню можна встановити присвоївши аргументу конкретне значення. В такому випадку аргумент стає необов'язковим.

Слайд 12

В регулярних виразах пробіл вважається символом, неправильне використання пробілів призводитиме до помилок
Хоча

В регулярних виразах пробіл вважається символом, неправильне використання пробілів призводитиме до помилок
регулярні вирази можуть відбирати тільки числові значення та перейдуть вони у функцію завжди у текстовому вигляді
Кожний вираз з urlpatterns буде скомпільований при першому використанні, що робить систему швидкою.

Слайд 13

КОМБІНУВАННЯ URLCONFS

Додавання додаткових URL-шаблонів з допомогою списку екземплярів
Вказування спільного префікса один раз

КОМБІНУВАННЯ URLCONFS Додавання додаткових URL-шаблонів з допомогою списку екземплярів Вказування спільного префікса
і групування різних суфіксів
Вкладені аргументи
Передача додаткових аргументів в представленні

Слайд 14

При пошуку аргументів Django шукатиме спочатку зовнішній аргумент.
При вкладених виразах зовнішній

При пошуку аргументів Django шукатиме спочатку зовнішній аргумент. При вкладених виразах зовнішній
вираз буде братись першим аргументом, а вкладений другим.
Запис ?: замість ?P дозволить ігнорувати параметр і відповідно у функцію не потрібно включати даний параметр як аргумент.

Слайд 15

Функції регулярних виразів також можуть приймати третій необов’язковий параметр
Даний параметр буде приймати

Функції регулярних виразів також можуть приймати третій необов’язковий параметр Даний параметр буде приймати вигляд колекції(словника)
вигляд колекції(словника)

Слайд 16

DJANGO SHORTCUT

Django.shortcuts – методи відповідей
HttpResponce – відповідь сервера - рядок
Redirect – перенаправлення

DJANGO SHORTCUT Django.shortcuts – методи відповідей HttpResponce – відповідь сервера - рядок
на вказану адресу
Render – повертає шаблон з контекстними даними
Имя файла: Програмування-в-інтернет.-Лекція-2.pptx
Количество просмотров: 22
Количество скачиваний: 0