[英]How to pass a variable from the url to a view in django?
簡單的問題。
如何將變量從URL傳遞到視圖? 我正在跟蹤Date示例 。
我的觀點需要爭論:
def hours_ahead(request, offset):
我的url.py有這個”
(r'^plus/\d{1,2}/$', hours_ahead),
我知道我需要傳遞另一個參數,但是我不知道如何從URL字符串中獲取數字(即'time / plus / 4 /'。類似這樣的東西嗎?
(r'^plus/\d{1,2}/$', hours_ahead, offset=??),
您可以在正則表達式中使用命名組
(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
現在,我們已經為URL指定了通配符,我們需要一種將通配符數據傳遞給view函數的方法,以便可以將單個view函數用於任意小時偏移量。 我們通過在要保存的URL模式中的數據周圍放置括號來做到這一點。 在我們的示例中,我們想保存在URL中輸入的任何數字,因此讓括號放在\\ d {1,2}周圍,如下所示:
(r'^time/plus/(\d{1,2})/$', hours_ahead),
如果您熟悉正則表達式,就可以在這里找到家。 我們使用括號從匹配的文本中捕獲數據。
我不確定我是否清楚理解您的問題。 這是我根據自己的理解回答的鏡頭。
將命名的正則表達式組添加到您的URL配置應該會有所幫助:
(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
這將使您保留現有視圖:
def hours_ahead(request, offset):
...
您可以添加其他變量,如下所示:
(r'^plus/\d{1,2}/$', {'hours' : 5}, hours_ahead),
最好的祝福!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.