Перед внедрением ajax я попытаюсь заставить формы работать с отключенным javascript.2 формы могут указывать на один и тот же вид.Для маршрутизации действия можно использовать <button type="submit">
теги с заполненными атрибутами name
value
вместо <input type="submit">
.
Шаблон 2 форм
<form action="{% url your-url %}" method="get">
<input type="text" name="q" value="{{ q }}">
<button type="submit" name="action" value="search">Search</button>
</form>
{% if entries %}
...
<form action="{% url your-url %}" method="post">
<input type="hidden" name="q" value="{{ q }}">
<button type="submit" name="action" value="save">Save entries</button>
</form>
{% endif %}
Не такодин уродливый шаблон формы
<form action="{% url your-url %}" method="post">
<input type="text" name="q" value="{{ q }}">
<button type="submit" name="action" value="search">Search</button>
{% if entries %}
...
<button type="submit" name="action" value="save">Save entries</button>
{% endif %}
</form>
Затем поймайте "действие" в своем представлении, как этот код (не проверено)
def your_view(request, *args, **kwargs):
action = request.REQUEST.get('action', None)
if request.method == 'POST' and action == 'save':
# do the save stuff
elif action == 'search':
# no need to check if it's a GET
if request.REQUEST.get('q', None):
# do the display stuff
else:
# q required, maybe push a warning message here
else:
# default stuff
return # the response ...
Тогда вы можете немного ajax