从 db 搜索名称后,如何使用 python Django 列出搜索到的名称
After searching on a name from db how I can get the searched name listed using python Django
我确实从数据库中搜索用户名,现在我想要 select 任何名称并单击添加按钮,它显示在搜索框下方的列表中。
在HTML
中搜索代码
<form id="location_form" class="form" method="post">{% csrf_token %}
<label id="name-label">User Name</label>
<div id="item">
<input type="text" name="user" id="user_id" oninput="get_user()" />
<input type="hidden" name="user_h_id" id="user_h_id" />
<input type="hidden" name="h_id" id="h_id"/>
<button type="button" id="add_user" class="btn btn-secondary"> Add User</button>
</div>
</form>
在view.py
def get_location_details(request):
user_id = request.user.id
if request.method == 'GET':
search_string = request.GET.get('q')
charge_to_list = search_string.split(' ')
q = (Q(username__icontains=charge_to_list[0]) | Q(fullname__icontains=charge_to_list[0]))
for term in charge_to_list[1:]:
if term != '':
q.add((Q(username__icontains=term) | Q(fullname__icontains=term)), Q.AND)
data_list = []
qs = CustomUser.objects.filter(q, )[:10]
for i in qs:
data_dict = {}
data_dict['id'] = i.id
data_dict['username'] = i.username
data_dict['fullname'] = i.fullname
data_dict['show_label'] = str(i.username)
data_list.append(data_dict)
return JsonResponse(data_list, safe=False)
您可以使用 data_list 上的条件创建一个新的 div。如果 data_list 有值,则对其进行迭代。
here 是它的 django 文档
我确实从数据库中搜索用户名,现在我想要 select 任何名称并单击添加按钮,它显示在搜索框下方的列表中。
在HTML
中搜索代码 <form id="location_form" class="form" method="post">{% csrf_token %}
<label id="name-label">User Name</label>
<div id="item">
<input type="text" name="user" id="user_id" oninput="get_user()" />
<input type="hidden" name="user_h_id" id="user_h_id" />
<input type="hidden" name="h_id" id="h_id"/>
<button type="button" id="add_user" class="btn btn-secondary"> Add User</button>
</div>
</form>
在view.py
def get_location_details(request):
user_id = request.user.id
if request.method == 'GET':
search_string = request.GET.get('q')
charge_to_list = search_string.split(' ')
q = (Q(username__icontains=charge_to_list[0]) | Q(fullname__icontains=charge_to_list[0]))
for term in charge_to_list[1:]:
if term != '':
q.add((Q(username__icontains=term) | Q(fullname__icontains=term)), Q.AND)
data_list = []
qs = CustomUser.objects.filter(q, )[:10]
for i in qs:
data_dict = {}
data_dict['id'] = i.id
data_dict['username'] = i.username
data_dict['fullname'] = i.fullname
data_dict['show_label'] = str(i.username)
data_list.append(data_dict)
return JsonResponse(data_list, safe=False)
您可以使用 data_list 上的条件创建一个新的 div。如果 data_list 有值,则对其进行迭代。 here 是它的 django 文档