需求:
1:在一個頁面中顯示一張數據表的數據
2:不能使用遍歷的方式
3:頁面中的數據允許通過admin后臺來進行修改
4:把一張數據表的某些內容渲染到[xxx.html]頁面
5:如公司的新商品頁面,已有固定的UI樣式,允許策劃人員登錄后臺修改數據
獲取1個模型中的所有數據–查詢集合–不能直接得到數據值
all_list=Articleapi.objects.all()
##all_list=<QuerySet [<Articleapi: 1>, <Articleapi: 2>]>
獲取1個模型中的所有數據–查詢集合–有數據值
這時可以遍歷提取
all_list=Articleapi.objects.all().values()
#all_list=<QuerySet [{'id': 1, 'title': '1', 'content1': 'x'},{'id': 1, 'title': '1', 'content1': 'x'},]>
django中的views.py文件—把局部變量渲染到【all_list.html】頁面中
def get_all_api_list(request): all_list=Articleapi.objects.all() data_list=all_list.values() return render(request,"all_list.html",locals())
【all_list.html】的代碼
{{ data_list.0}}
可以獲取到data_list中的下標為0的元素
得到一個字典
{'id': 1, 'title': '1', 'content1': 'x'}
{{ data_list.0.content1 }}
可以獲取到data_list中的下標為0的元素,并且獲取到這個字典中key為['content1']的值 "x"
'x'
{{ data_list.2 }}
因為data_list中只有2個元素,所以無法獲取到下標為2的元素,這樣渲染了也不會報錯
按下標來獲取數據
<div>----------------</div>
{{ data_list.0.content1 }}
<div>----------------</div>
{{ data_list.1 }}
<div>----------------</div>
{{ data_list.2 }}
<div>----------------</div>
<div>----------------</div>
遍歷獲取數據
{% for item in all_list %}<h2>{{ item.title }}</h2><p>{{ item.content1 }}</p>
{% endfor %}