文書検索エンジンを構築しようとしています。クエリを入力すると、ユーザーは関連性によってソートされたドキュメントのリストを取得します。しかし、文書の名前を取得するだけではあまり役に立ちません。だから単にテーブルを表示するのではなく、私はドキュメント名をハイパーリンクしました。アンカータグの中には、ドキュメントの名前があります。ユーザーがこのリンクをクリックすると、ドキュメント名を使用してこのファイルの内容をユーザーに表示します。基本的に、ユーザーがリンクをクリックすると、タグ内のコンテンツをビュー機能に渡したいと思っています。以下は、関連する私のコードのいくつかの部分です。アンカータグ内のデータをDjangoのビューに渡すことができません
.html
ページ
<table class = "tab_results">
<tr>
<th>Project Name</th>
<th>Score</th>
</tr>
{% for each_pair in results%}
<tr>
<td name = 'project_name'><a id = 'doc_name' href = "doc_viewer/?query_name={{ each_pair.0|urlencode }}">{{ each_pair.0 }}</a></td>
<td>{{ each_pair.1 }}</td>
</tr>
{% endfor %}
</table>
私urls.py
ファイル
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index),
url(r'^index$', views.index),
url(r'^[?]query=', views.doc_scorer, name="doc_scorer"),
url(r'^doc_viewer[/]', views.doc_viewer, name="doc_viewer"),
]
最後views.py
ファイル
def doc_viewer(request):
project_name = request.GET.get('project_name')
context = {'doc_data': search_query.doc_data(project_name)}
return render_to_response('search/doc_viewer_temp.html', context)
私はここに与えられたものに続くが、私は次のエラーを取得する
TypeError at /search/doc_viewer/
cannot use label indexing with a null key
問題は、変数project_name
がNULL
であることです。私はthisリンクからの提案を試みたが、それは動作させることができない。私が間違っていると思っていること。あなたは、URLの末尾に$
を使用することができ、クエリのために事前に感謝
urls.pyで 'r '^ doc_viewer/$''を使用すると、 'query_name'をパラメータとして使用していますが、' project_name'を取得しようとしています。これらの2つは同じ名前を持つ必要があります。 –