百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

基于Django+mysql的点餐系统设计-第八篇(H5主页调试-静态页面)

yuyutoo 2024-10-19 11:06 2 浏览 0 评论

声明:本次文章是看了B站上的视频和分享的代码笔记后,自己敲了一遍代码。然后再敲一遍代码的同时写文章梳理逻辑,看不懂的同学可以去看原文章和视频。文章如有雷同,可联系我删除!视频链接:

https://www.bilibili.com/video/BV1pq4y1W7a1?spm_id_from=333.999.0.0


博客目录:

一、基于Django+mysql的点餐系统设计--第一篇(开篇:确认需求功能、数据库设计、程序设计)

二、基于Django+mysql的点餐系统设计--第二篇(搭建工程、前后端调试)

三、基于Django+mysql的点餐系统设计--第三篇(编写后台员工管理页面)

四、基于Django+mysql的点餐系统设计--第四篇(编写后台菜品分类管理功能)

五、基于Django+mysql的点餐系统设计--第五篇(编写后台店铺管理页面)

六、基于Django+mysql的点餐系统设计-第六篇(编写后台菜品管理页面)

七、基于Django+mysql的点餐系统设计-第七篇(编写后台会员管理页面及后台系统技术点总结)

八、基于Django+mysql的点餐系统设计-第八篇(H5手机移动端点餐:主页调试-静态页面)


本章源码下载地址:https://github.com/hopeSuceess/testorder/tree/testorder_20220526_01

  本章开始编写H5手机移动端点餐的代码,不同于后台管理子系统,H5手机移动端点餐在用户访问到浏览页后,涉及到的增删改查的操作基本都在这一个页面完成。本章的主要任务是主页调试,首先将前端的css、font、img、js文件夹引入到static/mobile目录下。

  然后在templates/mobile目录下引入base.html和index.html

  这里说下base.html和index.html:base.html是父页面,搭建了H5手机移动端点餐页面的主框架。作为餐品浏览主页的index.html,首先要继承base.html.

这次为了方便调试,index.html里面的餐品信息没有接收后端传过来的信息进行遍历,而是把index.html写成了静态页面,也就是餐品信息在前端固定写好了,如下图:

{% extends 'mobile/base.html' %}
{% load static %}

{% block mainbody %}
    <!--头部-->
    <header class="search" id="search">
        <div class="header">
            <h1>田老师红烧肉-朝阳将台路店</h1>
        </div>
        <!--通知公告/客服电话-->
    </header>

    <!--搜索内容-->
    <div class="search-content" id="search-content">
        <i class="icon-font"></i>
    </div>

    <!--内容区-->
    <article class="main-container">

        <!--左侧栏目-->
        <div class="sortNav" id="sortNav">
            <p class="icon-sort line">分类导航</p>
            <a href="javascript:void(0);" onclick="doselectList(this,1)">双拼套餐</a>
            <a href="javascript:void(0);" onclick="doselectList(this,2)" class="select">盖饭</a>
            <a href="javascript:void(0);" onclick="doselectList(this,3)">小菜</a>
            <a href="javascript:void(0);" onclick="doselectList(this,4)">汤/饮料</a>
        </div>

        <!--右侧产品-->
        <div class="sortContent line">
            <!--产品列表-->
            <ol class="list-content" id="list-content1" style="display:none;">
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img25.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>法国猪肋排 1kg/袋</h3><font>瘦肉多,绝对超值精排 </font><b>¥35.00</b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="javascript:doCartAdd(1)" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img05.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>乌拉圭进口牛肋条</h3><font>BTV推荐,全网独家热销</font><b>¥59.00</b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="javascript:doCartAdd(2)" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img12.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>智利肋排脆骨 1kg/袋</h3><b>¥56.60</b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img28.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>温氏 农养鸡 袋装 (800g)</h3><b>¥38.80</b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
            </ol>
            <ol class="list-content" id="list-content2" style="display:none;">
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img29.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>江西萍乡土鸡蛋</h3><font>林地散养,原粮喂养,蛋黄大,蛋清粘稠</font><b>¥12.80</b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img30.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>台湾皮蛋,松花蛋</h3><font></font><b>¥28.00<s>¥31.90</s></b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
            </ol>
            <ol class="list-content" id="list-content3" style="display:none;">
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img07.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>萍乡土鸡蛋</h3><font></font><b>¥28.00<s>¥31.90</s></b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img16.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>新鲜猪肉</h3><font></font><b>¥28.00<s>¥31.90</s></b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
                <li class="line">
                    <a href="#">
                        <div class="pro-img"><img src="{% static '/mobile/img/img27.jpg' %}" alt=""></div>
                        <div class="pro-con"><h3>鸡肉</h3><font></font><b>¥28.00<s>¥31.90</s></b><p>乐果派旗舰店</p></div>
                    </a>
                    <a href="#" class="list-cart"><i class="icon-cartadd"></i></a>
                </li>
            </ol>
            <br><br>
        </div>

        <!--购物车-->
        <div class="cartContent fadeInBottom100" id="cartContent">

            <div class="LayerHeader line">
                <button class="Del" onclick="doCartClear()"><i class="icon-delete"></i>清空</button>
                <button class="close pl"><i class="icon-plus rot45"></i></button>
            </div>

            <div class="cartContentList">
                <ul class="line-li">
                    <!--li>
                        <img src="img/img01.jpg" alt=""><p>家乐都有机里脊肉 500g</p><span>¥150.00</span>
                        <div class="D-BuyNum"><button><i class="icon-reduce"></i></button><input type="number" readonly class="line" value="9"><button><i class="icon-plus"></i></button></div>
                    </li>
                    <li>
                        <img src="img/img02.jpg" alt=""><p>法国猪肋排 1kg/袋</p><span>¥150.00</span>
                        <div class="D-BuyNum"><button><i class="icon-reduce"></i></button><input type="number" class="line" value="9"><button><i class="icon-plus"></i></button></div>
                    </li>
                    <li>
                        <img src="img/img03.jpg" alt=""><p>乌拉圭进口(无骨)牛肋条 约1kg</p><span>¥150.00</span>
                        <div class="D-BuyNum"><button><i class="icon-reduce"></i></button><input type="number" class="line" value="9"><button><i class="icon-plus"></i></button></div>
                    </li-->
                </ul>
            </div>

            <div class="LayerFooter">
                共计:<span>¥0.00</span>
            </div>
        </div>

    </article>

    <!--底部栏目-->
    <menu>
        <a href=""><i class="icon-selectmore"></i>切换店铺</a>
        <!--a href="member-order.html"><i class="icon-allorders"></i>订单</a-->
        <a href="javascript:void(0)" id="orderCart"><i class="icon-cart"><span>0</span></i>购物车</a>
        <a href=""><i class="icon-head"></i>我的</a>
        <a><button onclick="location.href=''">去结算</button></a>
    </menu>

    <!--弹出圈圈loading-->
    <div class="spinner" style="display:none;"><i></i></div>
{% endblock %}


{% block myjavascript %}
<script type="text/javascript">
    function doselectList(ob,m){
        $("#sortNav a").removeClass("select");
        $(ob).addClass("select");
        $("ol.list-content").hide();
        $("#list-content"+m).show();
        return false;
    }

    cartlist = [];

    function doCartAdd(id){
        shoplist = [{'id':1,'name':'法国猪肋排','cover_pic':'img/img25.jpg','price':35.00,'num':1},{'id':2,'name':'乌拉圭进口牛肋条','cover_pic':'img/img05.jpg','price':90.00,'num':1}];
        shop = shoplist[id-1];
        var b=true;
        for(var i=0;i<cartlist.length;i++){
            if(cartlist[i].id==id){
                b = false;
                cartlist[i].num += 1;
                break;
            }
        }
        if(b){
            cartlist.push(shop);
        }
        doShowCart();

    }

    function doCartClear(){
        cartlist = [];
        doShowCart();
    }

    function doShowCart(){
        var cartContent = $("#cartContent div.cartContentList ul.line-li");
        cartContent.empty()
        var total = 0.0;
        for(var i=0;i<cartlist.length;i++){
            var str = "<li>";
            str += '<img src="'+cartlist[i].cover_pic+'" alt=""><p>'+cartlist[i].name+'</p><span>¥'+cartlist[i].price+'</span>';
            str += '<div class="D-BuyNum"><button><i class="icon-reduce"></i></button><input type="number" readonly class="line" value="'+cartlist[i].num+'"><button><i class="icon-plus"></i></button></div>'
            str += "</li>";
            cartContent.append(str);
            total += cartlist[i].price * cartlist[i].num;
        }
        $("#cartContent div.LayerFooter span").html("¥"+total);
        $("#orderCart i.icon-cart span").html(cartlist.length);
    }
</script>
{% endblock %}

  url控制器之前引用过跳转到主页的路由,这里再强调下:在mobile/urls.py中编写访问主页的路由:

urlpatterns = [
    # path('admin/', admin.site.urls),
    # ''表示前端页面直接输入域名或IP+端口会跳到此处,index.index表示在mobile/views/index.py文件下的index函数处理此处的逻辑
    # name='mobile_index':在前端代码中通过name值也能找到此处路由
    path('',index.index, name="mobile_index")
]

  说完了url控制器,咱们看下views层怎么实现。因为前端是静态页面,view层只需将访问链接渲染到静态页面index.html上就可以,因此非常简单,看下面代码:

def index(request):
     return render(request, "mobile/index.html")

  因为是调试,前端用的静态页面,所以不需要调用Models层。现在写完了url控制器和views层、templates层,可以启动程序访问页面调试了,访问:http://localhost:8000/mobile/页面展示正常,如下图:

  经过上面的调试说明H5手机移动端点餐的主页面是调试通了,接下来咱们将静态页面改为动态页面,这里说的是静态页面,下一篇开始说主页的动态页面和切换店铺

相关推荐

Google Chrome 100 Beta发布 用户代理字符串作用开始逐渐降低

GoogleChrome和MozillaFirefox都在迅速接近100版本,这有可能破坏一些错误识别浏览器版本的网站(可能导致访问不正常,这有点类似于众所周知的千年虫)。两种浏览器都在研究可能的...

如何在Chrome,Edge,Safari和Firefox中更改用户代理

无论您是SEO,营销人员还是Web开发人员,通常都可能需要更改浏览器的用户代理以测试其他内容。例如,您正在运行特定于MAC-OS的活动。要确定您的广告系列是否正常运行并且未针对Linux用户,更改浏览...

Mozilla正在测试新的浏览器UserAgent

Mozilla最近发布了一个实验项目来测试3位数的UserAgent版本“Firefox/100.0”会不会让一些网站停止正常工作。浏览器UserAgent是一串字符串,里面包含了浏览器的软件信息,版...

爬虫与User-Agent

什么是User-Agent呢?User-Agent是一个特殊字符串头,被广泛用来标示浏览器客户端的信息,使得服务器能识别客户机使用的操作系统和版本,CPU类型,浏览器及版本,浏览器的渲染引擎,浏览器...

让你的浏览器充满魔性——User Agent Switche

对于前端人员,闲暇时就会研究各种插件,今天我就分享UserAgentSwitcher在Firefox和Chrome的使用情况。一、Firefox浏览器UserAgentSwitcher作为火...

亚马逊账号运营安全-浏览器指纹识别之User-Agent开篇

UA包含了一个约定的特征字符串。主要是面向受访问网络表明自己的操作系统,软件开发商,版本,应用类型等信息。这是一种主动暴露信息的方式。我们来看关于UA的简单语法定义:User-Agent:<p...

【每日学习】Python爬虫之伪装浏览器User-Agent

【主题】Python爬虫之伪装浏览器原理【分析】1.创建自定义请求对象的目的,对抗网站的反爬虫机制2.反爬虫机制1:判断用户是否是浏览器访问(User-Agent)3.对抗措施1:伪装浏览器进行访问【...

亚马逊账号运营安全-浏览器指纹识别之User-Agent二篇

大家好,上一篇亚马逊账号运营安全-浏览器指纹识别之User-Agent开篇为大家阐述了原理。下面是作者为大家整理的其他几个主流浏览器的UA配置。一下都是Windows1064X系统下整理。Chrom...

常见的爬虫UserAgent

通过前面的文章我们知道,UserAgent(用户代理)是HTTP请求的一部分,用于告诉服务器发起请求的客户端类型和属性等信息。同时,也了解了常见的UserAgent。...

HTTP请求头之User-Agent

什么是User-AgentUser-Agent中文名为用户代理,简称UA,...

你想不到的浏览器流氓史!那些奇怪的User-Agent,是这么来的...

平时我们用chrome浏览器做开发测试。Chrome的Useragent字段怎么这么奇怪?...

谷歌宣布 Chrome 将逐步停止支持 User Agent

谷歌近日宣布将放弃对Chrome浏览器中用户代理字符串(User-AgentString)的支持。取而代之的是,Chrome将提供一个名为“客户端提示(ClientHints)”的新API...

数据采集-用户代理(useragent)

UserAgent分类:PC端的UserAgent。移动端UserAgent。使用UserAgent的必要性:在写python网络爬虫程序的时候,经常需要修改UserAgent,有很多原因,罗列几个如...

如何获取当前浏览器的useragent

有时候,我们需要得到浏览器的useragent,从而再进行后面的一系列判断,返回不同的值。网上有说,在浏览器地址栏输入:javascript:alert(navigator.userAgent)这种方...

User Agent 解析:它是什么以及如何修改

什么是UserAgent?UserAgent,简称UA,是一个使服务器能够识别用户使用的浏览器类型、版本以及运行浏览器的操作系统等信息的字符串。它作为浏览器请求头部信息的一部分发送给服务器,以便服务...

取消回复欢迎 发表评论: