【问题标题】:can you change the way get method makes links for django?你能改变get方法为django创建链接的方式吗?
【发布时间】:2018-01-12 08:31:34
【问题描述】:

我在一个网站上使用 django,该网站有一个简单的搜索栏设置:

<form method="get" action="/browse">
    <div class="input-group col-md-12">
        <input type="text" name="searchquery" class="form-control input-lg" placeholder="Search" style="margin-right:1vw; border-radius: 5px;"/>

        <span class="input-group-btn">
            <button class="btn btn-primary btn-lg" type="submit">
                {% fontawesome_icon 'search' color='white' %}
            </button>
        </span>
    </div>
</form>

这会创建这样的 url:

http://127.0.0.1:8000/browse/?searchquery=<searchquery>

但是我已经像这样设置了我的 django 网址:

http://127.0.0.1:8000/browse/<searchquery>/

我想使用第二个网址(因为我认为它看起来好多了)。

有没有办法让我的表单做到这一点?

【问题讨论】:

    标签: python html django get


    【解决方案1】:

    这不是关于 Django 的问题。浏览器根本无法使用 HTML 表单执行此操作。表单的action属性是在加载时设置的。

    您可能会编写一些 JavaScript 来使其执行此操作。但这将是错误的做法。像搜索这样的查询应该是查询字符串的一部分,而不是 URL。

    【讨论】:

    • 好的,谢谢。现在我有这样的网址:http://127.0.0.1:8000/browse/?searchquery=test 但有没有办法可以摆脱browse 之后的斜线并拥有它:http://127.0.0.1:8000/browse?searchquery=test
    • 是的,不要在 urls.py 的 URL 模式中放一个。
    • 这似乎不起作用...我现在收到一个错误,指出 django 没有它的 url...
    猜你喜欢
    • 2018-10-08
    • 2011-07-08
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 2019-01-20
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多