【发布时间】:2022-01-09 04:48:31
【问题描述】:
我正在尝试创建一个搜索栏,用户可以在其中搜索数据库中的特定用户。我在 search_users HTML 文件中创建了一个 for 循环,但该循环没有遍历我的任何用户。每当我尝试加载页面时,第一行都会加载(“您搜索了 ...”),但 for 循环中的任何内容都没有。
models.py
class User(AbstractUser):
"""User in a club."""
username = models.EmailField(unique=True, blank=False)
first_name = models.CharField(max_length=50, blank=False)
last_name = models.CharField(max_length=50, blank=False)
bio = models.CharField(max_length=520, blank=True)
chess_experience = models.IntegerField(blank=False, validators = [MinValueValidator(0)])
personal_statement = models.CharField(max_length=10000, blank=False)
created_at = models.DateTimeField(auto_now_add=True)
views.py
def search_users(request):
if request.method == "POST":
searched = request.POST.get('searched',False)
users = User.objects.filter(first_name__contains=searched)
return render(request, 'search_users.html', {'searched': searched, 'users': users})
else:
return render(request, 'search_users.html', {})
search_users.html
{% if searched %}
<h1>You searched for {{ searched }}</h1>
{% for user in users %}
<a href="{% url 'show_user' user.id %}">{{ user }}</a><br/>
{% endfor %}
{% else %}
<h1>You forgot to search for a member...</h1>
{% endif %}
【问题讨论】:
标签: html django loops templates model