django - Django搜索空值,验证
问题描述
我正在创建一个搜索应用程序,用户可以通过在搜索字段中写一些来查找成分。但是当有空字段时,所以没有输入 q=,我希望他会得到需要输入的信息并将他留在这个网站上。我现在不知道如何正确地写它,我只写了 query == '': ,但这不是我需要的。
以下是我的看法:
def drink_list(request):
template = "drinks/drink_list.html"
return render(request, template)
def search_results(besos):
query = besos.GET.get('q')
if query == "":
y = "please put input"
return render(besos, y)
else:
q = Q()
for queries in query.split():
q |= (Q(ingredients__ingredient_name__icontains=queries))
#why it look for 'sok z cytryny' and show as well sok z limonki
results = Recipe.objects.filter(q)
template = "drinks/search_results.html"
context = {
'results' : results,
}
return render(besos, template, context)
我的模板:
{% if results %}
{% for drink in results %}
<div>
<p>{{ drink.recipe_name }}</p>
<p>Preparation: {{ drink.preparation }}</p>
<p>Ingredients:
{% for ingredient in drink.ingredients.all %}
{{ingredient.ingredient_name}}{% if not forloop.last %},{% endif %}
{% endfor %}
</p>
</div>
{% endfor %}
{% else %}
<div>Such ingredients do not exist</div>
{% endif %}
解决方案
推荐阅读
- java - 使用线程池时如何使 Java 中的线程空闲?
- python-3.x - 替换熊猫数据框列中的特定值,否则将列转换为数字
- parallel-processing - LOV 和 LLITE 指标在 Lustre 中的意义
- javascript - 在 React 中,如何检查是否至少选择了一个复选框
- python - 如何使用 Python Opencv 检测特定区域内的运动?
- elasticsearch - Kibana 无法正确识别地理位置字段
- arrays - 为什么 "a=( * )" 为 '*' 中的每个文件名而不是每个单词分配一个包含一个元素的数组?
- angularjs - 如何在基于组件的 AngularJS 应用程序中将 $filter 服务注入自定义指令
- python - 为什么在 TensorFlow 实现中使用 `tensorflow.python.ops.x` 而不是 `tf.x`
- autodesk-forge - 将具有不同单位的模型加载到 Forge 查看器中