最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的Django框架中從url中捕捉文本的方法

 更新時間:2015年07月20日 09:54:12   投稿:goldensun  
這篇文章主要介紹了Python的Django框架中從url中捕捉文本的方法,以及URLconf搜索的一些相關(guān)情況,需要的朋友可以參考下

每個被捕獲的參數(shù)將被作為純Python字符串來發(fā)送,而不管正則表達式中的格式。 舉個例子,在這行URLConf中:

(r'^articles/(?P<year>\d{4})/$', views.year_archive),

盡管 \d{4} 將只匹配整數(shù)的字符串,但是參數(shù) year 是作為字符串傳至 views.year_archive() 的,而不是整型。

當(dāng)你在寫視圖代碼時記住這點很重要,許多Python內(nèi)建的方法對于接受的對象的類型很講究。 許多內(nèi)置Python函數(shù)是挑剔的(這是理所當(dāng)然的)只接受特定類型的對象。 一個典型的的錯誤就是用字符串值而不是整數(shù)值來創(chuàng)建 datetime.date 對象:

>>> import datetime
>>> datetime.date('1993', '7', '9')
Traceback (most recent call last):
  ...
TypeError: an integer is required
>>> datetime.date(1993, 7, 9)
datetime.date(1993, 7, 9)

回到URLconf和視圖處,錯誤看起來很可能是這樣:

# urls.py

from django.conf.urls.defaults import *
from mysite import views

urlpatterns = patterns('',
  (r'^articles/(\d{4})/(\d{2})/(\d{2})/$', views.day_archive),
)

# views.py

import datetime

def day_archive(request, year, month, day):
  # The following statement raises a TypeError!
  date = datetime.date(year, month, day)

因此, day_archive() 應(yīng)該這樣寫才是正確的:

def day_archive(request, year, month, day):
  date = datetime.date(int(year), int(month), int(day))

注意,當(dāng)你傳遞了一個并不完全包含數(shù)字的字符串時, int() 會拋出 ValueError 的異常,不過我們已經(jīng)避免了這個錯誤,因為在URLconf的正則表達式中已經(jīng)確保只有包含數(shù)字的字符串才會傳到這個視圖函數(shù)中。
決定URLconf搜索的東西

當(dāng)一個請求進來時,Django試著將請求的URL作為一個普通Python字符串進行URLconf模式匹配(而不是作為一個Unicode字符串)。 這并不包括 GET 或 POST 參數(shù)或域名。 它也不包括第一個斜杠,因為每個URL必定有一個斜杠。

例如,在向 http://www.example.com/myapp/ 的請求中,Django將試著去匹配 myapp/ 。在向 http://www.example.com/myapp/?page=3 的請求中,Django同樣會去匹配 myapp/ 。

在解析URLconf時,請求方法(例如, POST , GET , HEAD )并 不會 被考慮。 換而言之,對于相同的URL的所有請求方法將被導(dǎo)向到相同的函數(shù)中。 因此根據(jù)請求方法來處理分支是視圖函數(shù)的責(zé)任。

 

相關(guān)文章

  • Python實現(xiàn)E-Mail收集插件實例教程

    Python實現(xiàn)E-Mail收集插件實例教程

    這篇文章主要給大家介紹了關(guān)于Python實現(xiàn)E-Mail收集插件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2019-02-02
  • 解決python多線程報錯:AttributeError: Can''t pickle local object問題

    解決python多線程報錯:AttributeError: Can''t pickle local object問題

    這篇文章主要介紹了解決python多線程報錯:AttributeError: Can't pickle local object問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 關(guān)于Python中定制類的比較運算實例

    關(guān)于Python中定制類的比較運算實例

    今天小編就為大家分享一篇關(guān)于Python中定制類的比較運算實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題

    解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題

    這篇文章主要介紹了解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 爬蟲小技巧利用Mitmproxy破解app

    爬蟲小技巧利用Mitmproxy破解app

    不同于Fiddler或Wireshark等抓包工具,mitmproxy不僅可以截獲請求幫助開發(fā)者查看、分析,還可以通過自定義腳本進行二次開發(fā)
    2021-09-09
  • Python爬蟲簡單運用爬取代理IP的實現(xiàn)

    Python爬蟲簡單運用爬取代理IP的實現(xiàn)

    這篇文章主要介紹了Python爬蟲簡單運用爬取代理IP的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python自動化辦公之清理重復(fù)文件詳解

    Python自動化辦公之清理重復(fù)文件詳解

    這篇文章主要為大家詳細介紹了如何利用Python清理重復(fù)的文件,文中的示例代碼講解詳細,對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-05-05
  • Matplotlib中文亂碼的3種解決方案

    Matplotlib中文亂碼的3種解決方案

    當(dāng)我們用matplotlib作圖時,往往會發(fā)現(xiàn)中文的文字變成了小方塊,我在繪制決策樹的時候就碰到了這個問題。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Matplotlib中文亂碼的3種解決方案,需要的朋友可以參考下
    2018-11-11
  • 基于Python3.7.1無法導(dǎo)入Numpy的解決方式

    基于Python3.7.1無法導(dǎo)入Numpy的解決方式

    這篇文章主要介紹了基于Python3.7.1無法導(dǎo)入Numpy的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python尋找路徑和查找文件路徑的示例

    Python尋找路徑和查找文件路徑的示例

    今天小編就為大家分享一篇Python尋找路徑和查找文件路徑的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論

华蓥市| 昌宁县| 英山县| 五指山市| 永康市| 阜康市| 扶沟县| 策勒县| 射阳县| 郑州市| 宁蒗| 岚皋县| 武冈市| 屏边| 杭锦后旗| 龙口市| 项城市| 灵川县| 普格县| 吴忠市| 聂荣县| 忻城县| 泸水县| 库车县| 白朗县| 萨嘎县| 吴堡县| 河池市| 册亨县| 双桥区| 赤水市| 车险| 海淀区| 保康县| 牡丹江市| 通榆县| 明星| 普定县| 江都市| 尼勒克县| 门源|