2014-01-27 3 views
0

Я новичок в Django, хотя я программирую на python с помощью Twisted, и мне еще предстоит пройти долгий путь, чтобы разобраться с этой платформой. У меня проблема с использованием шаблонов url в формах. Я определил путь регулярного выраженияDjango - шаблон URL с использованием форм не совпадает с urlpattern

(url(r'^search/(?P<key>\w*)/$', views.searchKey, name='search'),) 

in my urls.py. Путь URL работает, когда я жестко кодирую URL-адрес. Например:

"/search/potatoes/" 

Но когда я использую формы для публикации поиска по этому пути, я всегда получаю «/ search //». Ниже приведен код моей формы. Что, кажется, происходит?

<form action="{% url 'feeds:search' key %}" method="post"> 
{% csrf_token %} 
<input type="text" name="key" id="key" /> 
<input type="submit" value="Filter" /> 
</form> 

Заранее благодарен!

+0

Вы распечатали переменную 'key' в шаблоне, чтобы убедиться, что она действительно существует? –

+0

yes Timmy, проблема в том, что я не могу передать значение текстового поля в качестве значения параметра. Всегда нажимайте кнопку « »/search // « всякий раз, когда я нажимаю кнопку« Фильтр ». Где, по-твоему, я ошибся? – Earvin

ответ

0

Вы установили это как аргумент ключевого слова, поэтому я думаю, что вам нужно будет использовать {% url 'feeds:search' key='potatoes' %} или если у вас есть реальная переменная {% url 'feeds:search' key=key_variable %}.

Теперь, если вы пытаетесь получить форму для отправки на этот URL-адрес, вам нужно будет сделать некоторый JavaScript на интерфейсе, чтобы изменить этот URL в зависимости от того, что вводится в поле key.

+0

Эй, Джош, я сделал это

Кажется, что [key.value] всегда пуст, хотя он не так, как я также печатать значение с помощью предупреждения javascript. Вы знаете, почему это мой друг? Спасибо! – Earvin

+0

Добавьте [панель инструментов отладки django] (https://github.com/django-debug-toolbar/django-debug-toolbar) и посмотрите, что на самом деле отправляется в шаблон. –

+0

Еще раз спасибо Джош! Вы очень помогаете! :-) Ещё один вопрос Josh. Почему [key.value] всегда имеет значение null или пусто каждый раз, когда нажимается кнопка отправки? Вот код формы. {% csrf_token%} Earvin

Смежные вопросы