簡體   English   中英

如何將變量從url傳遞到Django中的視圖?

[英]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),

在django書籍的第3章中

現在,我們已經為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM