1 回答
TA贡献1804条经验 获得超7个赞
如果你只是想要你在那里拥有的相同但打印在你拥有的模板中,(以我的谦虚和初学者的观点)你需要稍微修改你的视图,创建一个你想要显示它的模板并将 url 修改为在该模板中加载视图,例如:
查看.py 变化:
def select_collections(request):
listacolecao = Collection.objects.order_by('upload_date')
listasubscription = Subscription.objects.filter(user=request.user)
a_list = [] #You would get something like: ['not exist', 'not exist', 'Ok', 'not exist', 'Ok','Ok','Ok'] which is what it was printed in your code
for obj in listacolecao:
try:
Subscription.objects.filter(user=request.user, collection=obj)
except Subscription.DoesNotExist:
#print('not exist') I would substitute it for .append, to add each value to the list as a new item
a_list.append('not exist')
else:
#print('Ok')
a_list.append('Ok')
#Now you pass that variable and sending it to your template, so you can use it there.
context = {
'a_list':a_list,
}
return render(request, 'your_template_name.html', context)
在你的 urls.py 中:
from .views import select_collections #Importing your recently created view
urlpatterns = [
path = ('the_url_where_you_want_it', select_collections, name="the_name_you_prefer" ),
]
现在在您的模板中:
#As you have already sent those variables here you can use Django's template tags
{% for each_obj in a_list %}
<h3> {{each_obj }} </h3> #If you change each_obj for a_list, you would get a QuerySet (fancy word for a list), with all the items in the "a_list" variable.
{% endfor %}
这应该允许您在模板中单独查看列表中的每个项目。
添加回答
举报