從一個星期以來,我搜索的時候沒有任何問題的答案。我不知道我是否以良好的方式繼續進行,但我嘗試擁有一個如下所示的網址:article/title/0/search=ad/2017-08-01/2017-08-09/
;參數是(大括號):article/{filter}/{page}/search={search}/{date1}/{date2}/
。Django的url多個參數
我url.py正則表達式是:
url(r'article/(?P<filter>.+)/(?P<page>\d+)/(?:search=(?P<search>.*)/)?(?:(?P<date1>(\d{4}-\d{1,2}-\d{1,2})?)/)(?:(?P<date2>(\d{4}-\d{1,2}-\d{1,2})?)/)?$')
當值search
,date1
和date2
被填充,我的網址認爲{searched word}/2017-08-01/2017-08-09/
是search
值。
當search
,date1
和date2
是空的,我的鏈接是這樣的:article/title/0/search=///
。當日期填入article/title/0/search=/2017-08-01/2017-08-09/
。
在我的模板,我需要我的網址是這樣的:{% url "view" filter page search date1 date2 %}
有人能幫助我,糾正我,如果我在錯誤的方式做到了?
編輯
我會嘗試在其他的方式來重新問我的問題:
在我的模板,在具有有3個領域不需要search, date1 and date2
形式,使他們能夠無(這是我的問題)。我有一些鏈接需要更改視圖參數filter, page
中的一個,並在url中保留字段參數。 當表單POST到我的視圖(實際上是這樣的def AllArticle(request, filter, page, search="", date1="", date2="")
)時,我用它們來過濾我的ArticleModel對象(我不需要幫助,已經完成並且工作)。
根據@Cory_Madden,我從來沒有使用過這種方法,我不知道如何使用它。我只是試了一下,django返回了一個MultiValueDictKeyError。
您可以更具體地瞭解您的模型以及您想要過濾或搜索的內容。請更清楚地發佈您的模型和您的過濾器要求 –
無論您使用'?'分隔的GET參數是否被*'not *'看作您的'urls.py'。只有url本身。 –