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 %}
這應該允許您在模板中單獨查看列表中的每個項目。
添加回答
舉報