在所有网页上加入Haystack搜索

时间:2015-12-26 22:13:50

标签: django django-haystack

好的,我知道之前已经问过这个问题,我查看了答案,并且(想)我正在做的事情应该完成,但搜索框只出现在“搜索”页面而不是任何其他页。我有一个base.html,我用它来扩展到所有其他页面,任何人都可以帮忙吗? (仅供参考,我确实尝试在base.html而不是search.html中使用该表单,但这也不起作用)

base.html文件

{% load staticfiles %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Search</title>
    <link href="{% static 'css/bootstrap3.min.css' %}" rel="stylesheet">
    <link href="{% static 'css/main.css' %}" rel="stylesheet">
</head>

<body>
<div class="container">
    <header class="clearfix">
        {% include 'navbar.html' %}
        <h3 class="text-muted">My site</h3>
    </header>
    <hr>
    {% block content %}{% endblock %}
    <hr>
    <footer>
        <p class="text-muted">Copyright &copy; 2015</p>
    </footer>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
</body>
</html>

Search.html

{% extends 'base.html' %}
{% load staticfiles %}
{% load widget_tweaks %}

{% block content %}
    <h2>Search</h2>

    <form method="get" action=".">
        <div class="input-group">
        {% render_field form.q class+="form-control" type="search" %}
        <span class="input-group-btn">
            <button type="submit" class="btn btn-default">Search</button>
        </span>
        </div>

        {% if query %}
            <h3>Results</h3>
            {% for result in page.object_list %}

                <div class="media">
                  <div class="media-left">
                      <img class="media-object" height="100"
                        style="border: 1px solid #ccc;"
                        src="{{ result.object.photo.url }}">
                  </div>
                  <div class="media-body">
                    <h4 class="media-heading">Supplier Part Code: <strong>{{ result.object.supplier_code }}</strong></h4>
                    <h4>Mfr Code: <strong>{{ result.object.part.code }}</strong></h4>
                    <p>
                        <strong>Supplier</strong> {{ result.object.supplier.name }}
                        <strong>Price</strong> {{ result.object.price }}
                        <strong>Sale Price</strong> {{ result.object.sale_price }}
                        <strong>Available</strong> {{ result.object.quantity }}
                        <a href="{{ result.object.url }}" target="_blank">Buy Now!</a>
                    </p>
                  </div>
                </div>

            {% empty %}
                <p>No results found.</p>
            {% endfor %}

            {% if page.has_previous or page.has_next %}
                <div>
                    {% if page.has_previous %}<a href="?q={{ query }}&amp;page={{ page.previous_page_number }}">{% endif %}&laquo; Previous{% if page.has_previous %}</a>{% endif %}
                    |
                    {% if page.has_next %}<a href="?q={{ query }}&amp;page={{ page.next_page_number }}">{% endif %}Next &raquo;{% if page.has_next %}</a>{% endif %}
                </div>
            {% endif %}
        {% else %}
            {# Show some example queries to run, maybe query syntax, something else? #}
        {% endif %}
    </form>
{% endblock %}

Manuals.html(无搜索栏显示)

{% extends 'base.html' %}
{% load staticfiles %}

{% block content%}
<h1>Hello and welcome to Manuals</h1>
{% endblock %}

网址格式

url(r'^search/', include('haystack.urls')),
url(r'^manuals/$', 'mysite.views.manuals', name='manuals'),

0 个答案:

没有答案