首页 > 解决方案 > 具有动态数据的 django 模板表单目标

问题描述

我是 Django 模板的新手。我在标题中有一个搜索字段,我想以这种格式发送搜索到的关键字 search/q/{{keyword}}/

我的 html 代码是这样的

<form action="{% url 'content.search' q=searched_key %}" class="search-input">
    <input type="text" name="searched_key">
    <button type="submit"><i data-feather="search"></i></button>
</form>

我想获取输入值并发送,但结果 url 是这个
http://127.0.0.1:8000/contents/search/q//?searched_key=test
我怎样才能以正确的方式做到这一点?

标签: htmldjangoformsdjango-templates

解决方案


您最好使用 javascript 来完成此操作。

<form id="form-id">
    <input type="text" id="searched_key" name="searched_key">
    <button type="submit"><i data-feather="search"></i></button>
</form>

<script type="text/javascript">

function submitForm(e) {
    // Prevent default form submit
    e.preventDefault();
    // Get the search query
    let query = document.getElementById("searched_key").value;
    // redirect to the url with the query appended
    window.location.href = "/contents/search/" + query + "/";
    return false;
}

// Add an event listener to the form when the page loads
window.addEventListener('load', function() {
    document.getElementById("form-id").addEventListener('submit', submitForm);
});

</script>

推荐阅读