прости меня;Я очень новичок в 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"> {{ 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 печатается нормально, в чем может быть проблема? Это как-то связано с скобками и цитатами? Я бы так не думал.