Django - показать запрос в окне поиска на странице результатов - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь отобразить поисковый запрос пользователя в окне поиска на странице результатов. Очень простая проблема, но по какой-то причине она не работает для меня

Мой views.py выглядит так:

def search(request):
    result_list = []
    if request.method == 'POST':
        query = request.POST['query'].strip()
        if query:
            print(query)
            print(type(query))
            # Run our Webhose search function to get the results list!
            result_list = run_query(query)
            context_dict = {'result_list': result_list, 'query': query}
    context_dict = {'result_list': result_list}
    return render(request, 'rango/search.html', context_dict)

шаблон моего search.html находится ниже:

{% block body_block %}
<div>
    <h1>Search with Rango</h1>
    <br/>
    <form class="form-inline" id="user_form"
    method="post" action="{% url 'search' %}">
        {% csrf_token %}
        <div class="form-group">
            <input class="form-control" type="text" size="50"
                   name="query" value="{{query}}" id="query" />
        </div>
        <button class="btn btn-primary" type="submit" name="submit"
        value="Search">Search</button>
    </form>

    <div>
    {% if result_list %}
    <h3>Results</h3>
    <!-- Display search results in an ordered list -->
        <div class="list-group">
    {% for result in result_list %}
    <div class="list-group-item">
        <h4 class="list-group-item-heading">
            <a href="{{ result.link }}">{{ result.title }}</a>
            </h4>
            <p class="list-group-item-text">{{ result.summary }}</p>
            </div>
            {% endfor %}
        </div>
        {% endif %}
    </div>
</div>
{% endblock %}

Любой совет?

1 Ответ

0 голосов
/ 06 мая 2018

Мой context_dict перезаписывался. Пожалуйста, найдите решение ниже:

def search(request):
    query = ''
    result_list = []
    if request.method == 'POST':
        query = request.POST['query'].strip()
        if query:
            print(query)
            print(type(query))
            # Run our Webhose search function to get the results list!
            result_list = run_query(query)
    context_dict = {'result_list': result_list, 'query': query}
    return render(request, 'rango/search.html', context_dict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...