ユーザーの選択に基づいてさまざまなガント チャートを表示する Django Web サイトがあります。私のコードにはDjangoのログメッセージがたくさんあり、ユーザーが送信ボタンを押すとポップアップウィンドウに設定して表示できるようにしたいのですが、メッセージをポップアップに表示できないようです。
私のviews.pyは次のようになります:
from django.contrib import messages
def gantt_search(request):
if request.method == 'POST':
messages.info(request,"Query submitted, beginning query results render for:")
form_start = WINDOW_START_Form(request.POST,section_label="WINDOW_START")
if form_start.is_valid():
WS_raw = form_start.cleaned_data['WINDOW_START']
messages.info(request,"Window Start time: {WS}".format(WS=WS_raw))
else:
messages.error(request,"The start date you entered is incorrectly formatted.")
else:
messages.info(request,"Rendering query page")
form_start = WINDOW_START_Form(section_label="WINDOW_START")
return render(request, 'InterfaceApp/table_search.html', {'window_start': form_start})
def msgs(request):
m = messages.get_messages(request)
return render_to_response('InterfaceApp/messages.html',{'message':m})
結果テンプレートには、ポップアップ リンクを表示するために必要なコードが含まれており、次のようになります。
<html>
<head>
<title>Search Results</title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function popitup(url) {
newwindow=window.open(url,'{{title}}','height=200,width=150');
if (window.focus) {newwindow.focus()}
return false;
}
</script>
</head>
<body>
<div class="container">
<a href="messages.html" onclick="return popitup('/InterfaceApp/msgs')" > {% trans 'View Log Messages' %}
</a>
</div>
</body>
</html>
messages.html テンプレートは次のようになります。
<body>
<div class="container">
<h2>Messages</h2>
{{ message }}
</div>
<div class="containter">
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
{% if message.level == DEFAULT_MESSAGE_LEVELS.DEBUG %}Important: {% endif %}
{{ message }}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</body>
ポップアップ ウィンドウは問題なく動作しますが、開くと<django.contrib.messages.storage.fallback.FallbackStorage object at 0x10965bdd0>
メッセージのリストではなく表示されます。メッセージはレンダリング時に結果ページの上部に正しく表示されますが、そこには表示したくありません。
誰でもこれを修正する方法を教えてもらえますか?
ありがとう!