使用flask搭建網(wǎng)站——2.使用鏈接&靜態(tài)文件

鏈接

flask web開發(fā)中画髓,對鏈接的介紹比較少(可能后面還有掘剪,暫時沒看到那)。
使用鏈接的地方有很多奈虾,例如:導(dǎo)航條夺谁,新聞列表等等。
其實靜態(tài)鏈接不難肉微,我們可以直接在基礎(chǔ)模板中定義好鏈接予权。但是對于那些動態(tài)鏈接怎么辦呢?Flask提供了url_for()輔助函數(shù)浪册,他可以使用程序URL映射中保存的信息生成URL(其實我也不知道什么意思扫腺,應(yīng)該是和參數(shù)有關(guān))。

動態(tài)鏈接為什么不能直接編寫村象?
  • 直接編寫URL會對代碼中定義的路由產(chǎn)生不必要的依賴關(guān)系笆环。如果重新定義路由,模板中的鏈接就會失效厚者。

url_for()輔助函數(shù)最簡單的用法是以視圖函數(shù)名作為參數(shù)躁劣,返回對應(yīng)的URL。
我們在創(chuàng)建一個flask項目時库菲,有一個Index()函數(shù)账忘,程序中調(diào)用url_for('index'),得到的結(jié)果是/(根路徑)。
調(diào)用url_for('index', _external = True)返回的是絕對地址鳖擒,也就是http://localhost:5000/溉浙。

關(guān)于絕對地址和相對地址:程序內(nèi)部的鏈接使用相對地址就行,如果訪問外部地址必須使用絕對地址蒋荚。

那到底怎么訪問動態(tài)地址戳稽?

將動態(tài)部分當(dāng)做參數(shù)傳給url_for()輔助函數(shù)。例如:

url_for('user', name = 'john', _external = True)

那么上面這個輔助函數(shù)的返回結(jié)果就是期升,http://localhost:5000/user/john惊奇。

輔助函數(shù)url_for()的參數(shù)不局限于動態(tài)路由中的參數(shù),也可以傳入任何額外參數(shù)添加到查詢字符串中播赁。
例如:url_for('index', page = 2)的返回結(jié)果是 /?page=2颂郎。

靜態(tài)文件

web程序不僅由Python代碼和模板(template)組成,多數(shù)程序還會使用靜態(tài)文件容为,例如HTML靜態(tài)頁面乓序,JS源碼文件,CSS文件舟奠。
對靜態(tài)文件引用會被當(dāng)做一個特殊的路由,/static/<filename>房维。
例如沼瘫,調(diào)用url_for('static', filename = 'css/styles.css', _external = True),得到的結(jié)果是http://localhost:5000/static/css/styles.css咙俩。

默認(rèn)情況下耿戚,F(xiàn)lask在程序的根目錄下有一個static文件夾,我們可以把靜態(tài)文件都放在這個文件夾里阿趁。
如果服務(wù)器收到static開頭的路徑的請求膜蛔,會生成一個響應(yīng),包含文件系統(tǒng)中static/css/styles.css(這種格式)文件的內(nèi)容脖阵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末皂股,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子命黔,更是在濱河造成了極大的恐慌呜呐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悍募,死亡現(xiàn)場離奇詭異蘑辑,居然都是意外死亡,警方通過查閱死者的電腦和手機坠宴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門洋魂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事副砍∠沃” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵址晕,是天一觀的道長膀懈。 經(jīng)常有香客問我,道長谨垃,這世上最難降的妖魔是什么启搂? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮刘陶,結(jié)果婚禮上胳赌,老公的妹妹穿的比我還像新娘。我一直安慰自己匙隔,他們只是感情好疑苫,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纷责,像睡著了一般捍掺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上再膳,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天挺勿,我揣著相機與錄音,去河邊找鬼喂柒。 笑死不瓶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灾杰。 我是一名探鬼主播蚊丐,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼艳吠!你這毒婦竟也來了麦备?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤昭娩,失蹤者是張志新(化名)和其女友劉穎泥兰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體题禀,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡鞋诗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了迈嘹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片削彬。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡全庸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出融痛,到底是詐尸還是另有隱情壶笼,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布雁刷,位于F島的核電站覆劈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沛励。R本人自食惡果不足惜责语,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望目派。 院中可真熱鬧坤候,春花似錦、人聲如沸企蹭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谅摄。三九已至徒河,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間送漠,已是汗流浹背顽照。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留螺男,地道東北人棒厘。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓纵穿,卻偏偏與公主長得像下隧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谓媒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 22年12月更新:個人網(wǎng)站關(guān)停淆院,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,184評論 22 257
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)句惯,斷路器土辩,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 第三章 模板 序 為什么要分離 易于維護的代碼,關(guān)鍵在于保持簡單的結(jié)構(gòu)抢野。而我們之前編寫的hello.py雖然簡單拷淘,...
    科幻經(jīng)典閱讀 1,535評論 0 6
  • 那年的深秋時節(jié) 你去了遙遠(yuǎn)而神秘的地方 聽說那里 如水一般純凈 聽說那里 有距離天堂很近的路 我經(jīng)常想 西藏到底有...
    王玉仙閱讀 513評論 1 2
  • IRONYT閱讀 191評論 0 0