• Главная
  • Карта сайта
Не найдено

URL-адреси Django

  1. Що таке URL-адресу?
  2. Як URL-адреси працюють в Django?
  3. Твій перший URL-адресу в Django!
  4. blog.urls

Ми збираємося зробити нашу першу веб-сторінку - домашню сторінку твого блога! Але для початку давай трохи ближче познайомимося з URL-адресами в Django.

Що таке URL-адресу?

URL - це просто адреса в інтернеті. Ти можеш побачити URL кожен раз, коли відвідуєш веб-сайт - він відображається в адресному рядку твого браузера (так, 127.0.0.1:8000 - це URL-адресу! І https://djangogirls.org - теж URL):

Будь-яка сторінка в Інтернеті потребує власного URL-адресу. Таким чином ваше додаток точно знає, що показати користувачеві, який відкриває конкретний URL-адресу. В Django ми використовуємо так званий URLconf (англ. URL configuration, конфігурація URL). URLconf - це набір шаблонів, які Django спробує порівняти з отриманим URL, щоб вибрати правильний метод для відображення (view).

Як URL-адреси працюють в Django?

Давай відкриємо файл mysite / urls.py в нашому редакторі і подивимося, як він виглядає:

mysite / urls.py

"" "Mysite URL Configuration [...]" "" from django.contrib import admin from django.urls import path urlpatterns = [path ( 'admin /', admin.site.urls),]

Як можеш помітити, Django вже дещо розмістив тут для нас.

Рядки, розташовані між потрійними лапками ( '' 'або "" "), називаються docstrings - ти можеш додати їх на початку файлу, класу або методу для опису їх функціональності. Python буде їх ігнорувати при запуску програми.

URL-адресу розділу адміністрування, який ми відвідували в попередньому розділі, вже тут присутній:

mysite / urls.py

path ( 'admin /', admin.site.urls),

Таким чином, будь-якого URL-адресою, що починається з admin /, Django буде знаходити відповідне view (подання). В цьому випадку ми охоплюємо велику кількість різних URL-адрес, які явно не прописані в цьому маленькому файлі - так він стає більш акуратним і легким для читання.

Твій перший URL-адресу в Django!

Прийшов час створити твій перший URL-адресу! Ми хочемо, щоб ' http://127.0.0.1:8000/ 'Повертав домашню сторінку нашого блогу зі списком записів в ньому.

Ми також хочемо зберегти файл mysite / urls.py в максимально акуратному вигляді, так що ми імпортуємо URL-адреси для нашого застосування blog в mysite / urls.py.

Вперед, додай рядок для імпорту blog.urls. Зверни внимение, що тут ми використовуємо функцію include, тому тобі доведеться імпортувати її в першому рядку свого файлу.

Файл mysite / urls.py повинен виглядати наступним чином:

mysite / urls.py

from django.contrib import admin from django.urls import path, include urlpatterns = [path ( 'admin /', admin.site.urls), path ( '', include ( 'blog.urls')),]

Django тепер буде перенаправляти всі запити ' http://127.0.0.1:8000/ 'До blog.urls і шукати там подальші інструкції.

blog.urls

Створи новий порожній файл blog / urls.py. Відмінно! Додай в нього такі два рядки:

blog / urls.py

from django.urls import path from. import views

Так ми імпортували функцію path Django і все views (подання) з додатка blog (у нас їх поки немає, але через хвилину вони з'являться!)

Після цього ми можемо додати наш перший URL-шаблон:

blog / urls.py

urlpatterns = [path ( '', views.post_list, name = 'post_list'),]

Як ти можеш помітити, ми зв'язали view під ім'ям post_list з кореневим URL-адресою ( ''). Цей шаблон URL буде відповідати порожньому рядку. Це правильно, тому що для обробників URL в Django ' http://127.0.0.1:8000/ 'Не є частиною URL. Цей шаблон скаже Django, що views.post_list - це правильний напрямок для запиту до твого веб-сайту за адресою ' http://127.0.0.1:8000/ '.

Остання частина name = 'post_list' - це ім'я URL, яке буде використано, щоб ідентифікувати його. Воно може бути таким же, як ім'я уявлення (англ. View), а може і чимось зовсім іншим. Ми будемо використовувати іменовані URL пізніше в проекті, тому важливо вказувати їх імена вже зараз. Ми також повинні спробувати зберегти імена URL-адрес унікальними і легко запам'ятовуються.

Якщо зараз ти спробуєш відкрити сторінку http://127.0.0.1:8000/ в браузері, то побачиш повідомлення про те, що веб-сторінка недоступна. Це сталося через те, що сервер (пам'ятаєш, як ми набирали runserver?) Перестав обробляти запити. Щоб зрозуміти чому, відкрий вікно своєї командного рядка.

Щоб зрозуміти чому, відкрий вікно своєї командного рядка

У твоїй командному рядку з'явилося повідомлення про помилку, але не турбуйся - воно, насправді, досить корисно. Ти можеш прочитати, що не існує атрибута з ім'ям 'post list' - _no attribute 'post_list'. Ця назва вистави, яку Django намагається знайти і використовувати, але ми ж його ще не створили. В даний момент розділ / admin / теж не буде працювати. Не турбуйся, ми цим займемося.

Якщо хочеш дізнатися більше про Django URLconfs, подивися офіційну документацію: https://docs.djangoproject.com/en/2.0/topics/http/urls/

Що таке URL-адресу?
Як URL-адреси працюють в Django?
Що таке URL-адресу?
Як URL-адреси працюють в Django?
Пам'ятаєш, як ми набирали runserver?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью