Ну, это не скомпилирует, потому что в Вашем вызове к getCommand Вы не являетесь передающими в строке с процедурой, но до массива, который не должен работать без проблем.
Это определенно логика представления; all urls.py предназначен для сопоставления шаблонов URL, а не для проверки. Вы можете использовать исключение Http404
, чтобы справиться с этим.
from django.http import Http404
def detail(request, poll_id):
try:
p = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404
return render_to_response('polls/detail.html', {'poll': p})
В качестве альтернативы вы можете найти методы get_object_or_404
или get_list_or_404
, которые немного сокращают его.
Обещанное редактирование следует. Не совсем то, что вы ищете, но ...
urlpatterns = (
url(r'^$', list_titles, name='list'),
)
if 1=1: # Your logic here
urlpatterns += ( url(r'^$', list_titles, name='list'), )
urlpatterns += (
url(r'^(?P<title>\S+?)/$', show_title, name='title'),
url(r'^spam/$', spam_bar),
url(r'^foo/$', foo_bar),
}