2012-01-05 29 views
0

標題部分組成:Faking Captured URLconf ValuesDjango的書教程第8章:假捕捉URL

(專家:你可以跳到加粗部分......剛開始是學習者像我)

從我的理解是,給出的例子不過是「網址別名」。

urlpatterns = patterns('', 
    (r'^mydata/birthday/$', views.my_view, {'month': 'jan', 'day': '06'}), 
    (r'^mydata/(?P<month>\w{3})/(?P<day>\d\d)/$', views.my_view), 
) 

因此,如果我們進入http://example.com/mydata/May/18/,我可以在此屏幕上:

Hi C++ Learner, May 18 is your birthday! 

有了這個URL techinque,我會看到相同的顯示,如果我進入http://example.com/mydata/birthday

公告一個月,一天是硬編碼的。今天對於一個動態網站,我們如何使用這種技術(url-alias)顯示每個用戶的生日頁面?

在視圖中,我們必須將月份和日期傳遞給render_to_response才能使用模板。但是,如果我說下面這將會拋出錯誤,因爲月和日沒有在urls.py中定義。

(r'^mydata/birthday/$', views.my_view, {'month': month, 'day': day}) 

回答

1

創建一個包含生日信息的用戶配置文件模型,在允許訪問該URL之前需要登錄,然後從視圖中的配置文件中提取數據。

+0

在這個例子中,它只演示了一個硬編碼url別名。如果我將它作爲配置文件功能實現,那麼額外的關鍵字是否有幫助?謝謝。 – CppLearner 2012-01-05 03:36:53

+1

不在urlconf中。儘管可以從配置文件中獲取信息,但您可以在新視圖中委託給原始視圖。 – 2012-01-05 03:42:14

+0

我明白了:)謝謝。 – CppLearner 2012-01-07 19:36:06