|
From flask import Flask app = Flask
|
bet | 3/13 | Sana | 30.07.2024 | Hajmi | 252,31 Kb. | | #268934 |
Bog'liq Flask notesreturn f'User {escape(username)}'
@app.route('/post/')
def show_post(post_id):
# show the post with the given id, the id is an integer
return f'Post {post_id}'
@app.route('/path/
')
def show_subpath(subpath):
# show the subpath after /path/
return f'Subpath {escape(subpath)}'
Konverter turlari:
Noyob URL manzillar / yoʻnaltirish harakati
Quyidagi ikkita qoida keyingi chiziqdan foydalanishda farqlanadi.
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
Oxirgi nuqta uchun kanonik URLda projectsqiyshiq chiziq bor. Bu fayl tizimidagi papkaga o'xshaydi. Agar siz URL manziliga qiyshiq chiziqsiz ( /projects) kirsangiz, Flask sizni keyingi chiziq ( /projects/) bilan kanonik URL manziliga yo‘naltiradi.
Oxirgi nuqta uchun kanonik URLda aboutqiyshiq chiziq yo'q. Bu faylning yo'l nomiga o'xshaydi. Egri chiziq ( ) bilan URL manziliga kirish /about/404 “topilmadi” xatosini keltirib chiqaradi. Bu URL manzillarini ushbu manbalar uchun noyob saqlashga yordam beradi, bu esa qidiruv tizimlariga bir sahifani ikki marta indekslashni oldini olishga yordam beradi.
URL manzilini yaratish
Muayyan funksiyaga URL yaratish uchun url_for()funksiyadan foydalaning. U birinchi argument sifatida funktsiya nomini va har bir URL qoidasining o'zgaruvchan qismiga mos keladigan kalit so'z argumentlarining istalgan sonini qabul qiladi. Noma'lum o'zgaruvchan qismlar URL manziliga so'rov parametrlari sifatida qo'shiladi.
url_for()Nima uchun URL manzillarini shablonlaringizga qattiq kodlash o‘rniga URLni o‘zgartirish funksiyasidan foydalangan holda yaratmoqchisiz ?
Orqaga o'tkazish ko'pincha URL-manzillarni qattiq kodlashdan ko'ra tavsifliroqdir.
Qattiq kodlangan URL-manzillarni qo'lda o'zgartirishni eslab qolish o'rniga, URL-manzillaringizni bir marta o'zgartirishingiz mumkin.
URL yaratish maxsus belgilardan qochishni shaffof tarzda boshqaradi.
Yaratilgan yo'llar har doim mutlaq bo'lib, brauzerlarda nisbiy yo'llarning kutilmagan xatti-harakatlaridan qochadi.
Agar ilovangiz URL ildizidan tashqarida joylashgan bo'lsa, masalan, /myapplicationo'rniga /, url_for()bu siz uchun to'g'ri ishlaydi.
Misol uchun, bu erda biz test_request_context()sinab ko'rish uchun usuldan foydalanamiz url_for(). test_request_context() Flaskga o'zini Python qobig'idan foydalanganda ham xuddi so'rovni bajarayotgandek tutishni aytadi. Mahalliy kontekstga qarang .
|
| |