python+flask+html开发简单的网页

        新手学习python,掌握的基本语法的使用,学习基本的数据类型(字符串、列表、元组、字典、集合等)、函数、数据结构等使用及理解后,后续的项目实战离不开web开发、爬虫、图像处理、深度学习、人工智能等。本博客作为学习小记,纯属简单的python学习交流文章,如有纰漏或者错误,还请多多指教,感谢!

软件基础:

安装PyCharm(版本2019.3) 官网链接:https://www.jetbrains.com/pycharm/

安装python(版本3.7.5):https://www.python.org/downloads/

学习来源:

视频(bilibili):https://www.bilibili.com/video/av16976018?from=search&seid=649169955504493099

                                  https://www.bilibili.com/video/av14095837?from=search&seid=649169955504493099

                                  https://www.bilibili.com/video/av48204232?from=search&seid=5440996610444191920

现有使用较多python的web搭建框架:Flask、Django、Tornado,当然还有bottle、web.py等(来源bilibili-Python_fullstack框架入门【老男孩IT】https://www.bilibili.com/video/av69049751?p=1

Flask:短小精悍、内部没有太多组件,第三方组件丰富。

Djiango:重武器,内部包含了非常多组件:ORM、Form、ModelForm 、缓存、session、中间件、信号等

Tornado:异步非阻塞框架(node.js)

----------------------------------------------------------------------------

开始搭建:

1. 打开PyCharm,新建project,命名为setup_web,选择空目录,选择默认环境Virtualenv

  • 新建myapp.py(网页后台控制)
  • 新建文件夹templates(文件名一定要是这个),在里面新建一个index.html(网页源代码)

自此,项目本地目录中就有:

2. 安装需要的flask模块包,在PyChram中Terminal命令行中

>> pip install flask

3. 基本的程序准备就绪,开始编辑myapp.py的代码:

from flask import Flask
from flask import render_template #渲染

app = Flask(__name__)
@app.route('/') #主页地址,“装饰器”
def news():
    the_news = {
            'XXX1':'1',
            'XXX2':'2',
            'XXX3':'3',
            'XXX4':'4',
    }
    context = {
        'title':'新闻',
        'the_news': the_news,
    }
    return render_template('index.html',context=context) #把index.html文件读进来,再交给浏览器

if __name__ == '__main__':
    app.run(host='0.0.0.0',debug=True,port=80) #127.0.0.1 回路 自己返回自己

html的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>个性签名</title>
    <style>
        div.wrapper {
            border: 1px solid black;
            height: 250px;
            width: 550px;
            background: white;
            margin: auto;
        }

        div.form-div {
            border: 1px solid black;
            height: 50px;
            width: 550px;
            background: yellow;
            margin: auto;
        }

        div.img-div {
            border: 1px solid black;
            height: 200px;
            width: 550px;
            background: white;
            margin: auto;
        }
    </style>
</head>

<body>
    <div class="wrapper">
        <h4>{{context.title}}</h4>
        <ul>
            {% for i in context.the_news %}
            <li><a href="#"><span>{{ i }}</span>{{ context.the_news[i] }}</a></li>
            {% endfor %}
        </ul>

        <div class="form-div">
            <form method="POST">
                <input type="text">
                <select>
                    <option>1</option>
                    <option>2</option>
                </select>
                <input type="submit">
            </form>
        </div>
        <div class="img-div">
            <span>新闻讲究时效性</span>
        </div>

    </div>
</body>
<ml>
</html>

4. 运行myapp.py(右键点击Run 'myapp.py'),打开浏览器,输入http://localhost/或者127.0.0.1,结果如下图所示:

---------------------------------------------------------------------------------------------------------

学习小计:

pycharm使用操作:

  • 快捷键:ctrl+? 注释、反注释

 

html操作(菜鸟教程:https://www.runoob.com/html/html-basic.html):

  • 基本的html代码结构
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>     <!-- 两个<title>之间的Title为网页打开时的提示标签 -->

</head>
<body>

      <!-- html编程的主体 -->

</body>
</html>
  • 代码认识:

       <div style="" ></div>                                           <!-- 每个网页都由大小不一的模块构成,div就是新建网页框架中的模块 -->

       <span></span>                                                  <!--  显示文字等 -->

       <font size=" " color=" " face="黑体"></font>       <!-- 设置字体颜色、大小、字体等 -->

       <a href=" "></a>                                                 <!--  标签定义超链接,用于从一个页面链接到另一个页面 -->

       <br>                                                                    <!-- 换行符 -->

       <ul></ul>                                                             <!-- 标签定义无序列表 -->

       <b></b>                                                              <!-- 加粗文本 -->

       < style="position:relative / absolute;                   <!-- 相对/绝对位置 -->

                     float: left / right;                                     <!-- 靠左、右 -->

                     left / right: 10px;                                    <!-- 距离左、右多少px -->

                     top: 25px;                                              <!-- 距离上多少px -->

                     height: 300px (100%);                           <!-- 模块的高 -->

                     width: 300px (100%);                            <!-- 模块的宽 -->

                     background: #FFFFFF;                         <!-- 模块背景颜色 -->

                     border: 0px solid white;                         <!-- 模块边框线颜色、大小 -->

                     display: flex; flex-direction: row /column; justify-content: space-around / between;     

                                                                                   <!-- 浮动元素,横向、纵向排列,根据窗口大小变化 -->

                     text-align:center /left /right;                    <!-- 文字位于模块中的位置 -->

                     margin: auto;                                         <!-- 自动分配元素的水平边距 -->

                     ">

       ... ...

学习总结:

  • 学习python,易学难精,开源,集成了很多的模块包,作为小白的我,把菜鸟教程中python基础教程学了一遍,才刚刚开始,还未入门;
  • 在bilibili上看了网上学习视频,很多都教得比较基础,进阶的web开发教学内容一般都需付费,所以多找其他学习博客或者网站;
  • 几天的学习,个人感觉用python来开发网站,网页的基础还是html编程,python实则起到构建连接、数据管理、后台运维等的框架和数据处理的作用;
  • 以上内容,如有出错,还请多多包涵,我还需多多学习;

存在问题:

  • 未解决所开发网页的外网访问问题;
  • 开发网站,学习html编程语言必不可少,大部分的代码使用还不懂;
  • python中的数据结构、数据分析还是硬骨头,是接下来的重点,目标是开发与一个实验室的专属网站;
  • ... ...

-----------------------------------------------------------

推荐学习:

  1.  菜鸟教程:python基础教程(小白可以看看,有100道测试题)
  2.  博客园-武沛齐:https://www.cnblogs.com/wupeiqi/
  3.  图书《python程序设计开发宝典 董付国》清华大学出版社、《python基础教程(第2版修订版) [挪]Magnus Lie Hetland》人民邮电出版社

>> print(' 未完待续,多多指教! ---- pxz20191221')

 

  • 42
    点赞
  • 205
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
数据库原理及应用大作业:基于Python+Flask+MySQL开发的《西柚外卖订餐系统》.zip 项目模块及功能介绍 本系统包括登录模块、注册模块、商家用户模块、买家用户模块、系统管理员模块。具体功能介绍如下: 登录模块 [x] 选择管理员、商家用户、用户三种身份登录 [x] 将输入的用户名与密码与数据库中的数据进行对比验证 注册模块 [x] 选择商家用户、用户两种身份注册 [x] 将注册信息(用户名、密码、电话、地址)存入数据库 商家用户模块 [x] 维护商家个人信息(店名、地址、联系电话、商家图片) [x] 修改商家个人登录密码 [x] 维护菜单列表(菜品名称、菜品描述、营养成分、销量、价格、菜品图片、是否为招牌菜),包括添加、删除、修改 [x] 对菜品列表按照销量或价格排序查看 [x] 查看顾客订单与完成情况 [x] 对顾客订单按照时间或价格排序查看 [x] 查看顾客对商家当前菜品的评论(订单号、顾客用户名、餐厅名、是否完成、花费、评分、评语、交易时间) 买家用户模块 [x] 维护买家用户个人信息(用户名、地址、联系电话) [x] 修改用户个人登录密码 [x] 查看商家列表(店名、地址、联系电话、商家图片) [x] 查看商家菜单列表(菜品名称、菜品描述、营养成分、销量、价格、菜品图片、是否为招牌菜) [x] 对菜单列表按销量或价格排序查看 [x] 筛选出菜单列表中的特色菜 [x] 将菜品加入购物车 [x] 维护购物车,包括选择、删除、搜索、修改数量 [x] 对购物车进行结算,结算时商品价格可促销打折,可选择堂食或外卖两种就餐方式 [x] 查看商家评价信息 [x] 查看以完成订单 [x] 对当前订单按时间或价格排序查看 [x] 查看已发表评价(订单号、顾客用户名、餐厅名、是否完成、花费、评分、评语、交易时间) [x] 查看可发表评价的订单 [x] 对可发表评价的订单按交易时间或价格排序查看 系统管理员模块 [x] 查看各商家获得的评价信息 [x] 对各商家获得的评价信息按照评分升序查看 [x] 移除恶意营销商家 项目结构 ├── screen_shot          //项目测试截图 ├── static             //网页静态资源 │ ├── css             //css样式配置 │ ├── fonts            //字体配置 │ ├── images           //图片文件 │ ├── js              //javascript脚本文件 ├── templates           //基于jinja2编写的HTML模板文件 ├── app.py             //Web服务启动程序 └── README.md           //help 环境依赖 Python 3.9.10 Flask 2.1.1 PyMySQL 1.0.2 MySQL 8.0.28 运行方法 先以MySQL的root身份执行SQL脚本初始化数据库与数据表项(会提示输入root用户的登录密码) mysql -uroot -p < init.sql 再执行Web服务启动程序 python app.py --mysql_pwd 11235813 --db_name appDB 注意此处mysql_pwd也是你MySQL的root用户登录密码,db_name即你用init.sql创建的数据库名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值