基于Django的电子商务网站开发(连载21)

简介: 基于Django的电子商务网站开发(连载21)

3.4.2 商品概要信息的分页显示


商品概要信息的分页显示页面是登录操作以后的首界面,以列表的形式显示已经存在的商品,通过这个页面,用户可以进行查看商品信息的详情、添加商品进入购物车等操作。

1.  urls.py

...
url(r'^goods_view/$', views.goods_view),
...


2.  views.py

...
#查看商品信息
def goods_view(request):
    util = Util()
    username =  util.check_user(request)
    if username  =="":
        uf = LoginForm()
        return  render(request,"index.html",{'uf':uf,"error":"请登录后再进入"})
    else:
        #获得所有商品信息
        good_list =  Goods.objects.all()
        #获得购物车中物品数量
        count =  util.cookies_count(request)
        #翻页操作
        paginator =  Paginator(good_list, 5)
        page =  request.GET.get('page')
        try:
            contacts =  paginator.page(page)
        except  PageNotAnInteger:
            # If page is not  an integer, deliver first page.
            contacts =  paginator.page(1)
        except EmptyPage:
            # If page is out  of range (e.g. 9999), deliver last page of results.
            contacts =  paginator.page(paginator.num_pages)
        return render(request,  "goods_view.html", {"user": username, "goodss":  contacts,"count":count})
...


1)通过代码good_list= Goods.objects.all()获得所有的商品信息。

2)通过paginator = Paginator(good_list, 5)以及下面的代码来实现分页显示的功能。


3.  模板

goods_view.html

{% extends "base.html" %}
{% block content %}
            <li><a href="/view_chart/">查看购物车<font color="#FF0000">{{ count  }}</font></a></li>
          </ul>
          <ul  class="nav navbar-nav navbar-right">
           <li><a  href="/user_info/">{{user}}</a></li>
           <li><a  href="/logout/">退出</a></li>
         </ul>
         </div><!--/.nav-collapse -->
      </div>
    </nav>
    <div  class="container theme-showcase" role="main">
      <!--商品表单-->
      <div>
        <div  id="navbar" class="navbar-collapse collapse">
          <form method="post"  action="/search_name/">
            <div>
              <input  name="good" type="text" placeholder="名称">
            </div>
            <button type="submit"  class="btn btn-success">搜索</button>
          </form>
         </div><!--/.navbar-collapse -->
      </div>
      <div>
        <div>
          <table  class="table table-striped">
            <thead>
              <tr>
                <th>编号</th>
                <th>名称</th>
                <th>价钱</th>
                                     <th>查看详情</th>
                <th>放入购物车</th>
              </tr>
            </thead>
            <tbody>
              {% for goods in goodss %}
                <tr>
                  <td>{{ goods.id }}</td>
                  <td>{{ goods.name }}</td>
                  <td>¥{{ goods.price }}</td>
                   <td><a href="/view_goods/{{goods.id}}/">查看</a></td>
                   <td><a href="/add_chart/{{goods.id}}/1/">放入</a></td>
                </tr>
             {% endfor %}
            </tbody>
          </table>
        </div>
      </div>
 <!-- 列表分页器 -->
    <div>
      <span>
        {% if goodss.has_previous  %}
          <a  href="?page={{ goodss.previous_page_number }}">上一页</a>
        {% endif %}
          <span>
            Page {{  goodss.number }} of {{ goodss.paginator.num_pages }}.
          </span>
        {% if  goodss.has_next %}
          <a  href="?page={{ goodss.next_page_number }}">下一页</a>
        {% endif %}
      </span>
    </div>
{% endblock %}


        所有商品是通过列表变量goodss返回给模板文件,在模板文件中通过{% for goods in goodss %}来遍历显示。分页功能通过模板中<!--列表分页器 -->下面的代码来实现,见图3-12所示。

                         

image.png

3-12 商品信息列表


星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net


顾翔凡言:

      软件测试正在生病,而且病得不轻,自动化测试被要不吹得太火,要不一点都不会,自动化比不过开发、测试又找不到缺陷,丢了西瓜也捡不到芝麻。

目录
相关文章
|
2月前
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
74 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
6月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
188 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
安全 测试技术 Python
基于Django的电子商务网站开发(连载39)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
72 0
基于Django的电子商务网站开发(连载39)
|
存储 安全 前端开发
基于Django的电子商务网站开发(连载37)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
149 0
基于Django的电子商务网站开发(连载37)
|
测试技术 Python
基于Django的电子商务网站开发(连载36)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
92 0
基于Django的电子商务网站开发(连载36)
|
XML 测试技术 数据库
基于Django的电子商务网站开发(连载34)
基于Django的电子商务网站开发(连载34)
62 0
基于Django的电子商务网站开发(连载34)
|
XML 测试技术 数据格式
基于Django的电子商务网站开发(连载33)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
93 0
基于Django的电子商务网站开发(连载33)
|
SQL XML 前端开发
基于Django的电子商务网站开发(连载40)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
180 0
|
测试技术 Python
基于Django的电子商务网站开发(连载38)
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript, 主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。
87 0
|
XML 测试技术 数据格式
基于Django的电子商务网站开发(连载35)
基于Django的电子商务网站开发(连载35)
102 0