<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
     django的一條哲學是(don't repeat yourself DRY ).熟悉django的人都知道,在0.96版中新加入了django.core.urlresolvers.reverse這個東東,下面讓我們來看一下這究竟是怎樣反映DRY思想的:
        首先讓我們一句話概括reverse()是干什么的?反解析url以直接訪問其它視圖方法。眾所周知,在django的mvc(mvt也可以)中,url和view是通過url.py和views.py實現(xiàn)分離的,具體view的訪問是通過url.py中設(shè)置的對應(yīng)方法來實現(xiàn)的。這固然是正確的。但是考慮如下情況,我們有一個view最后實現(xiàn)頁面跳轉(zhuǎn):

    views.py
        def redirect(request):
        return HttpResponseRedirect("/vote/1/")

    url.py
        (r'^
    /vote/(?P<poll_id>\d+)/$','mysite.poll.vote')

        這樣做起來就有1個問題:如果未來某天我們的url發(fā)生了改變,我們將不得不同時修改這兩個文件。這和DRY哲學思想是沖突的,那么有什么辦法能讓我們只用修改url.py呢,答案就是使用reverse().
        reverse的用例如下:

    views.py

        from django.core.urlresolvers import reverse

        def redirect(request):
        return HttpResponseRedirect(reverse('mysite.polls.views.detail',args=(1,)))

        很容易明白,第一個參數(shù)就直接添入要使用的view方法,第二個args里邊順序填入方法的參數(shù),(extra_context也從這里傳入)然后剩下的就全部交給django去完成拉。于是我們就可以放心的修改url.py里的url配置,不
    必再擔心有什么地方?jīng)]修改網(wǎng)站出錯啦.SO COOL!
    posted on 2008-09-24 22:22 周銳 閱讀(1336) 評論(0)  編輯  收藏 所屬分類: Python
    主站蜘蛛池模板: 特级精品毛片免费观看| 视频免费1区二区三区| 99xxoo视频在线永久免费观看| 亚洲女同成人AⅤ人片在线观看| 亚洲av无码专区在线观看亚| 97人伦色伦成人免费视频| 中文文字幕文字幕亚洲色| 精品熟女少妇AV免费观看| 99热亚洲色精品国产88| 最近免费中文字幕大全| 亚洲大尺度无码无码专线一区| 免费无码黄动漫在线观看| 亚洲国产成人精品无码区花野真一| 免费理论片51人人看电影| 美女羞羞喷液视频免费| 日韩亚洲变态另类中文| 国产无遮挡裸体免费视频在线观看| 久久精品国产亚洲AV麻豆王友容| 91短视频在线免费观看| 亚洲精品天堂在线观看| 亚洲精品在线视频| 国产成人无码区免费内射一片色欲| 亚洲综合精品一二三区在线 | 永久免费精品影视网站| 亚洲精品成人片在线观看精品字幕| 亚洲欧洲美洲无码精品VA| 国产成人久久AV免费| 亚洲AV无码专区在线亚| 国产精品四虎在线观看免费| 国产无遮挡色视频免费观看性色| 亚洲成av人片天堂网| 国产A∨免费精品视频| 久久亚洲精品国产精品黑人| 成人免费一区二区三区 | 免费成人午夜视频| 两个人日本免费完整版在线观看1| 亚洲激情在线视频| 免费特级黄毛片在线成人观看| 中文字幕免费在线观看动作大片| 亚洲精品视频在线观看视频| 永久黄网站色视频免费观看|