4
我想我的網址不區分大小寫。在使用通用視圖時,將(?i)添加到urls.py中的正則表達式的開頭並不完全正常。使用泛型視圖不區分大小寫的查詢
這裏是我想專注於網址:
url(r'^(?i)(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-A-Za-z0-9_]+)/$', BlogDateDetailView.as_view(model=Entry,
queryset=Entry.objects.all(),
date_field='pub_date',
slug_field='slug',
)),
了以下工作:
http://mysite.com/2012/jan/24/my-article
http://mysite.com/2012/JAN/24/my-article
下不工作(即我得到一個404):
http://mysite.com/2012/jan/24/My-Article
我認爲它不起作用的原因是因爲slug的查詢查詢區分大小寫。爲了使這項工作,我相信我需要子類(不知道這是否是正確的術語)class SingleObjectMixin(object):
因爲這是queryset = queryset.filter(**{slug_field: slug})
發生。也許我應該子類get_queryset()
。
我會很感激的,我怎麼能在URL中做到這一點乾淨在Django 1.3
太棒了!謝謝安德魯。談論一個簡單的解決方案,我想象的是更復雜的事情。 – Trewq 2012-02-19 00:06:31