<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實現分離的,具體view的訪問是通過url.py中設置的對應方法來實現的。這固然是正確的。但是考慮如下情況,我們有一個view最后實現頁面跳轉:

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

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

        這樣做起來就有1個問題:如果未來某天我們的url發生了改變,我們將不得不同時修改這兩個文件。這和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,)))

        很容易明白,第一個參數就直接添入要使用的view方法,第二個args里邊順序填入方法的參數,(extra_context也從這里傳入)然后剩下的就全部交給django去完成拉。于是我們就可以放心的修改url.py里的url配置,不
    必再擔心有什么地方沒修改網站出錯啦.SO COOL!
    posted on 2008-09-24 22:22 周銳 閱讀(1336) 評論(0)  編輯  收藏 所屬分類: Python
    主站蜘蛛池模板: 亚洲videos| 天天看片天天爽_免费播放| 亚洲成a人无码亚洲成av无码| 亚洲综合av永久无码精品一区二区 | 亚洲精品美女久久久久久久| 久久国产精品亚洲一区二区| 亚洲国产成人久久综合野外| 最新免费jlzzjlzz在线播放| 69av免费观看| 日本免费大黄在线观看| 国产免费久久久久久无码| 爱爱帝国亚洲一区二区三区| 亚洲va久久久久| 亚洲国产成人九九综合| 亚洲色偷偷偷网站色偷一区| 亚洲成av人片天堂网| 久久精品国产精品亚洲艾草网美妙| 青青青青青青久久久免费观看| 可以免费看黄的网站| 久久精品国产免费观看| 99re6免费视频| 久草免费福利资源站| 精品视频在线免费观看| 中文字幕版免费电影网站| 一级做a爱过程免费视| 男女啪啪免费体验区| 麻豆91免费视频| 国产亚洲精品第一综合| 亚洲AV成人无码网站| 亚洲另类无码一区二区三区| 亚洲中文精品久久久久久不卡| 亚洲天堂2016| 亚洲日韩av无码中文| 亚洲AV无码一区二区大桥未久 | 免费看又爽又黄禁片视频1000| 无码人妻一区二区三区免费| 91嫩草国产在线观看免费| 成人免费看片又大又黄| 国产一级淫片免费播放| www.91亚洲| 久久精品国产精品亚洲人人|