Django хранит строку запроса при отправке - PullRequest
2 голосов
/ 28 июня 2011

У меня есть форма поиска, основанная на шаблоне формы поиска администратора:

{% load adminmedia %}
{% load i18n %}
{% if cl.search_fields %}
<div id="toolbar"><form id="changelist-search" action="." method="get">
<div><!-- DIV needed for valid HTML -->
<label for="searchbar"><img src="{% admin_media_prefix %}img/admin/icon_searchbox.png" alt="Search" /></label>
<input type="text" size="40" name="{{ SEARCH_VAR }}" value="{{ search_string|escape }}" id="searchbar" />
<input type="submit" value="{% trans 'Search' %}" />
{% if show_result_count %}
    <span class="small quiet">{% blocktrans count cl.search_found_num as counter %}{{ counter }} result{% plural %}{{ counter }} results{% endblocktrans %} (<a href="?{% if cl.is_popup %}pop=1{% endif %}">{% blocktrans with cl.search_total_num as full_result_count %}{{ full_result_count }} total{% endblocktrans %}</a>)</span>
{% endif %}
{% for pair in cl.params.items %}
    {% ifnotequal pair.0 search_var %}<input type="hidden" name="{{ pair.0 }}" value="{{ pair.1 }}"/>{% endifnotequal %}
{% endfor %}
</div>
</form></div>
<script type="text/javascript">document.getElementById("searchbar").focus();</script>
{% endif %}

Когда запрос отправлен, текст поиска правильно передается в строку запроса, но, к сожалению, он избавляетсячто-нибудь еще, что могло быть там.Например, если у меня есть URL-адрес www.example.com/?a=whatever&b=something, после отправки поиска он становится www.example.com/?q=searchtext, а не www.example.com/?a=whatever&b=something&q=searchtext.Я почти уверен, что проблема как-то связана с атрибутом «action» формы, но я недостаточно хорошо разбираюсь в HTML, чтобы точно определить, каким он должен быть.

Редактировать: проблема решена,Я просто добавил скрытые поля в форму HTML, в которых сохранились значения, которые я хотел сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...