Django从零开始搭建一个相册网站--6.取数据

来源:互联网 发布:吉林卫生系统网络直报 编辑:程序博客网 时间:2024/05/21 12:45

在views.py文件中需要获取相关数据并传入相关页面,

所以需要在文件头导入models文件中的相关类(即数据库中的表):

from .models import ClassModelsfrom .models import DirModelsfrom .models import FileModels

在首页点击某一分类后会展示该分类下的所有子分类:

首先,需要根据分类ID去获取所有子分类的model:

dirmods = DirModels.objects.filter(class_id=clsid)
其次,需要将分类model传入页面供展示子类下所有文件使用:

clamod = ClassModels.objects.get(id=clsid)

需要注意的是:get和filter的区别,get返回的是一个唯一值,filter返回满足条件的一组值。


最后将2个model传入listing.html页面:

return render(request, 'listing.html', context={'clamod': clamod, 'dirmods': dirmods})


listing.html页面相关展示内容如下:

{% for dirmod in dirmods %}<div class="col-md-4 fh5co-item-wrap">   <a class="fh5co-listing-item" href="/detail/{{clamod.id}}/{{dirmod.id}}">      <img src="/static/resources/{{clamod.class_name}}/{{dirmod.dir_name}}/warp.jpg" alt="Free HTML5 Bootstrap Template by FreeHTML5.co" class="img-responsive">      <div class="fh5co-listing-copy">         <h2>{{dirmod.dir_name}}</h2>         <span class="icon">            <i class="icon-chevron-right"></i>         </span>      </div>   </a></div>{% endfor %}{% endblock %}
以{{}}来引用传入的参数,传入的model.列名即可获取值,以for循环来遍历打印。

2 0