Переменная шаблона Django не загружается - PullRequest
0 голосов
/ 10 ноября 2019

прости меня;Я очень новичок в Django.

В моем шаблоне django у меня возникают проблемы с загрузкой одной конкретной переменной из представлений (которая является строкой). Все мои другие переменные загружаются хорошо, и я знаю, что эта переменная существует как "h" в коде ниже. Я проверил этот факт и знаю это как факт. И все же, он не отображает!

запрос индекса из views.py w / post как проблему:

def index(request):
con = sqlite3.connect('db.sqlite3')
template = loader.get_template('searching/index.html')
if request.method == 'POST':
    keyword = None
    years = None
    keyword = request.POST.get("keyword")
    years = request.POST.get("year")

    if years is not None:
        years = int(years)
        cursor = con.cursor()
        cursor.execute('SELECT * FROM searching_insight WHERE year = ?', (years,))
        documents = cursor.fetchall()
        results = YearSearchTFIDF(years)
        script, div = YearsOnlyCharter(results, years)
    elif keyword is not None:
        keyword_for_query = "%" + keyword + "%"
        keyword_for_query = keyword_for_query.lower()
        cursor = con.cursor()
        cursor.execute('SELECT * FROM searching_insight WHERE body LIKE ?', (keyword_for_query,))  
        documents = cursor.fetchall()
        results = KeywordSearchTFIDF(keyword.lower())
        if results == "No results found":
            div = "<div>No results found.  Try again.</div>"
            return render(request, 'searching/index.html', {'errorsearch': "No documents found.  Please try again."})
        else:  
            ordereddict1 = collections.OrderedDict(sorted(results.items(), key = lambda t: t[0]))
            results = dict(ordereddict1)
            script, div = KeywordOnlyCharter(results, keyword)
    else:
        print("tbd")

    context = {
        'keyword':keyword,
        'years':years,
        'results': results,
        'script': script,
        'div': div,
        'documents': documents,
    }

    return render(request, 'searching/index.html', context)
else:
    return render(request, 'searching/index.html')

Моя проблема в html-коде находится внизу этого кода:

    <!DOCTYPE html>
{% load static %}
{% load convertltgt %}
{% block head %}
<head>
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
        <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <link href="{% static "css/searching.css" %}" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Merriweather&display=swap" rel="stylesheet">


    <link href="https://cdn.bokeh.org/bokeh/release/bokeh-1.3.4.min.css" rel="stylesheet" type="text/css">
    <link href="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-1.3.4.min.css" rel="stylesheet" type="text/css">
    <link href="https://cdn.bokeh.org/bokeh/release/bokeh-tables-1.3.4.min.css" rel="stylesheet" type="text/css">
    <script src="https://cdn.bokeh.org/bokeh/release/bokeh-1.3.4.min.js"></script>
    {{ script | safe }}
    <title>WW:TBHT</title>
</head>
{% endblock %}

{% block body %}
<body>

    <nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="/"><i class="fab fa-pagelines"></i>  WW:TBHT</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="/searching">Search</a></li>
        <li><a href="/data">Data - Keywords</a></li>
        <li><a href="/graphs">Data - Graphs</a></li>
        <li><a href="/background">Background</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="/about">About</a></li>
        <li><a href="/contact">Contact</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

    <div class="headline">
      <img class="vine_left" src="https://i.ibb.co/285jFB5/download.png">

      {% if keyword %}
          <h1>Results for "{{ keyword }}"</h1>
      {% elif years %}
        <h1>Results for {{ years }}</h1>
      {% else %}
        <h1>Search WW:TBHT</h1>
      {% endif %}

      <img class="vine_right" src="https://i.ibb.co/285jFB5/download.png">

    </div>

    {% if errorsearch %}
      <br><br><br><h3 id="errormessage"> &nbsp;&nbsp;&nbsp; {{ errorsearch }} </h3>
    {% endif %}

   <div id="bigtfidfgraph">
       {{ div | safe }}
   </div>

   <div id="resultsdocuments">
    {% for (a,b,c,d,e,f,g,h) in documents %}
      <div class="document">
        <h3 class="title">{{ b }} </h3>
        <h4 class="date"> {{ d }} </h4>
        <p class="citation"> {{ h|safe }} </p>
        <div class="text">{{ c | safe }}</div>
      </div>
    {% endfor %}
   </div>

Я пробовал как | безопасный фильтр, так и без фильтра!

Переменная должна загружаться примерно так:

Howells,Уильям Дин [без подписи в оригинале]. «Бардские символы». 28 марта 1860 года. Архив Уолта Уитмена. Генерал ред. Эд Фолсом и Кеннет М. Прайс. Получено 11 апреля 2019 года. [http://www.whitmanarchive.org].

Я совершенно не понимаю, почему это не будет загружаться;если переменная действительно h (проверено), любая другая переменная в этом цикле for печатается нормально, в чем может быть проблема? Это как-то связано с скобками и цитатами? Я бы так не думал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...