在 Django 2.0 上使用过滤器
Using filters on Django 2.0
请帮忙找出错误原因。
有两个对象从我的视图中返回:
def managment_users_form(request):
users = User.objects.all()
usersinfo = usersinfo_model.objects.all()
count_objects = users.count()
if request.user.is_authenticated:
username = request.user.username
context = {
'users': users,
'usersinfo': usersinfo,
'count_objects': count_objects,
}
return render(request, 'users.html', context)
else:
return redirect('login_form')
在我的模板上,我想从第一个开始循环,然后在另一个循环中按 id 过滤。第一个运行良好,但第二个我在尝试使用过滤器时遇到错误。
模板
{% for user in users %}
<div class="">
<h4 class="m-b-5">{{ user.first_name }} {{ user.last_name }}</h4>
<p class="text-muted">{{ useremp|user_info_filter:user.id }} <span></p>
</div>
{% endfor %}
过滤器
from django import template
register = template.Library()
@register.filter(name='user_info_filter')
def user_info_filter(useremp, id):
return useremp.filter(user_id=id)
错误请大家帮忙理解。
错误是:"Invalid filter: 'user_info_filter'"
您是否将过滤器添加到 settings.py?从 1.9 Django 开始需要它
例如:
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'libraries':{
'filter': 'project_name.templatetags.filter',
}
},
请帮忙找出错误原因。 有两个对象从我的视图中返回:
def managment_users_form(request):
users = User.objects.all()
usersinfo = usersinfo_model.objects.all()
count_objects = users.count()
if request.user.is_authenticated:
username = request.user.username
context = {
'users': users,
'usersinfo': usersinfo,
'count_objects': count_objects,
}
return render(request, 'users.html', context)
else:
return redirect('login_form')
在我的模板上,我想从第一个开始循环,然后在另一个循环中按 id 过滤。第一个运行良好,但第二个我在尝试使用过滤器时遇到错误。
模板
{% for user in users %}
<div class="">
<h4 class="m-b-5">{{ user.first_name }} {{ user.last_name }}</h4>
<p class="text-muted">{{ useremp|user_info_filter:user.id }} <span></p>
</div>
{% endfor %}
过滤器
from django import template
register = template.Library()
@register.filter(name='user_info_filter')
def user_info_filter(useremp, id):
return useremp.filter(user_id=id)
错误请大家帮忙理解。 错误是:"Invalid filter: 'user_info_filter'"
您是否将过滤器添加到 settings.py?从 1.9 Django 开始需要它
例如:
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'libraries':{
'filter': 'project_name.templatetags.filter',
}
},