python网站创建:初识网站(001)

news2024/11/29 10:31:22

1. 初识网站:首先来认识一下,前端、后端、数据库它是怎么分工合作来形成网站的

使用python创建网站之前,需要先稍微认识一下两个最流行python web框架:(Flask)和(Django)

Flask是一个轻量级的框架,适用于比较轻巧,小的网站;

Django是一个重量级的框架,适用于大型的网站;

这里暂时用Flask作为讲解,后续将使用Django来讲解。

前端和后端的交互:

1. 首先安装Flask

pip install flask

2. 然后创建一个简单的网站框架

from flask import Flask

# 创建一个名为app的Flask应用
app = Flask(__name__)

# 定义一个方法,当访问路由 '/index' 时,执行index函数里面的代码
@app.route('/index')
def index():
    return '哈喽!您好'

if __name__ == '__main__':
    # 运行Flask应用
    app.run()

3. 右键运行,如下图,咋们的网站已经在运行了, 提示说:打开这个网址http://127.0.0.1:5000,就可以显示网站的内容

但是当打开这个网址时,却提示这个,原因是因为你没有加上路径

再次打开网址:127.0.0.1:5000/index  就可以看到内容了

一个最简单的网站搭建起来了, 但是内容太过于单调,如果想丰富一点怎么办?如下图, 可以看到文字被换行加粗了,这就是接下来要讲的前端语言

1. 初识前端

上面讲解了怎么创建一个最基础的网站结构,这里讲解一下前端语言(html+css+js)

HTML(超文本标记语言)是一种用于创建网页结构的标记语言。通过使用HTML标签,可以定义网页的各种元素,如标题、段落、图像、表格等。

CSS(层叠样式表)是一种用于描述网页外观和样式的样式表语言。通过使用CSS,可以为HTML元素应用各种样式,如字体、颜色、大小、布局等。

JavaScript是一种高级的、解释型的脚本语言,用于为网页添加交互和动态效果。通过使用JavaScript,可以操作HTML和CSS,实现与用户的交互、表单验证、动态加载内容、动画效果等。

讲人话:

html:用于给网站添加文字、图像等等

css:用于给元素添加样式。如让文字加粗,给文字添加颜色等

js:用于给网页添加动态效果,如滑动,点击反馈等

2. 框架优化

在上一章中,我们将前端语言写在了py文件中,真实是将前端语言写在html文件中的,如何操作?

1. 创建一个 templates 目录, templates这个名字是固定的,将html文件放到这个目录下,系统会自动到这个目录下寻找html文件并执行

# -*- coding:utf-8 -*-
from flask import Flask, render_template

# 创建一个名为app的Flask应用
app = Flask(__name__)


# 定义一个方法,当我运行代码时, 它会执行index函数里面的代码
@app.route('/index')
def index():
    # return '哈喽!<h1>您好</h1>'
    # 1. 去templates 目录中寻找 index.html 文件
    # 2. 读取 index.html 文件内容
    # 3. 并将 index.html 里面的前端代码返回给浏览器解析
    return render_template('index.html')


if __name__ == '__main__':
    app.run()

然后我们再执行一下网站,显示的内容是一样的

以后编写前端文件,就可以在templates 目录里面编写就可以了

数据库与后端交互

假如说我想将前端中的“您好”这两个字从数据库读取,而不是写死, 要怎么做呢?请看如下图

到这里, 前端、后端、数据库的交互逻辑大概就讲清楚了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【*1900倍数遍历】CF1627 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 在枚举数列子集的gcd时&#xff0c;通常可以枚举倍数 对于这道题要注意&#xff0c;j/i的gcd要为1&#xff0c;这样才能保证i是这个子集的最大公约数 Code&#xff1a; #include <bits/stdc.h>//#define…

三菱FX3U简单工程编程

1.简单工程编程 1.1.元件 常开触点&#xff08;ld&#xff09; 选中位置&#xff0c;点击图标&#xff0c;输入软元件&#xff0c;完成添加。 选中位置&#xff0c;快捷键F5添加。 选中位置&#xff0c;输入ld 软元件添加。常闭触点&#xff08;ldi&#xff09;横线、竖线 …

红黑树增删操作详解(相信我,这次你一定会弄懂)

前言&#xff1a; 网上众多关于红黑树的讲解&#xff0c;但大多数都是重复的&#xff0c;只列出了几种简单情况&#xff0c;逻辑和思维深度都不足以解答吾之困惑。。。 直到看到张彦峰先生的 对红黑树的认识总结&#xff0c;基本可以说是集大成者&#xff0c;本文会基于…

MySQL原理探索——28 读写分离有哪些坑

在上一篇文章中&#xff0c;介绍了一主多从的结构以及切换流程。今天我们就继续聊聊一主多从架构的应用场景&#xff1a;读写分离&#xff0c;以及怎么处理主备延迟导致的读写分离问题。 我们在上一篇文章中提到的一主多从的结构&#xff0c;其实就是读写分离的基本结构了。这里…

linux环境下使用jmeter进行分布式测试

目录 1、前言 2、环境准备 3、分布式配置 总结&#xff1a; 1、前言 熟练使用jmeter进行性能测试的工程师都知道&#xff0c;jmeter的客户端性能是有点差的。这会导致一个问题&#xff0c;其客户端的性能损耗会干扰到性能测试的结果&#xff0c;而且当线程数/并发大到一定程…

我爱学QT-仿写智能家居界面 上 中 下

学习链接&#xff1a; 仿写一个智能家居界面&#xff08;上&#xff09;_哔哩哔哩_bilibili 上 给QT工程添加资源文件 在这里 然后选这个&#xff0c;choose后会有起名&#xff0c;之一千万不能是中文&#xff0c;要不就等报错吧 然后把你要添加的图片托到文件夹下&#xf…

FPGA好找工作吗?薪资待遇怎么样?

FPGA&#xff1a;即现场可编程门阵列&#xff0c;它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的&#xff0c;既解决了定制电路的不足&#xff0c;又克服了原有可编程器件门电路数有限的缺点。 FPGA太…

Codeforces round 883 div3

A. Rudolph and Cut the RopeA. Rudolph and Cut the Rope 题目大意 有 n 个钉子钉在墙上&#xff0c;第 i 个钉子被钉在离地面 ai 米高的位置&#xff0c;一根长度为 bi 米的绳子的一端被绑在它上面。所有钉子都悬挂在不同的高度上。糖果同时被绑在所有绳子的末端&#xff0…

浅谈关于智慧校园安全用电监测系统的设计

0引言 人生人身安全是大家关注的话题&#xff0c;2019年12月中国消防统计近五年发生在全国学生宿舍的火灾2314起&#xff08;中国消防2019.12.应急管理部消防救援局官方微博&#xff09;&#xff0c;违规电器是引发火灾的主因。如果在各寝室安装智能用电监测器实时监督线路参数…

【力扣算法05】之 _1911_ 最大子序列交替和- python

文章目录 问题描述示例 1示例2示例3提示 思路分析代码分析完整代码运行示例代码示例1示例2示例3 完结 问题描述 一个下标从 0 开始的数组的 交替和 定义为 偶数 下标处元素之 和 减去 奇数 下标处元素之 和 。 比方说&#xff0c;数组 [4,2,5,3] 的交替和为 (4 5) - (2 3) 4…

804. n的阶乘

链接&#xff1a; https://www.acwing.com/problem/content/806/ 题目&#xff1a; 输入一个整数 nn&#xff0c;请你编写一个函数&#xff0c;int fact(int n)&#xff0c;计算并输出 nn 的阶乘。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 共一行&#xff0c;包…

OpenCV(图像处理)-图片搜索

图片搜索 1.知识介绍2.实现流程2.1 计算特征点与描述子2.2 描述子的匹配2.3 求出单应性矩阵并画出轮廓2.4 将特征点标出 此篇博客作者仍在探索阶段&#xff0c;还有一些模糊的概念没有弄懂&#xff0c;请读者自行分辨。 1.知识介绍 Opencv进行图片搜索需要的知识有&#xff1…

多个input框或其他框的值相加之和并且处理精度问题

需求&#xff1a;实付金额不能手动输入&#xff0c;并且等于购买数量✖优惠价➖平台补贴➖店铺补贴 把需要处理的这几个框绑上change事件等于同一个方法名 change"handleChange" handleChange(value){let _this this;let isNull validatenull;_this.ruleForm.pre…

【JavaEE】项目的部署-让网络上的人都能访问你的网站

项目的部署-让网络上的人都能访问你的网站 文章目录 【JavaEE】项目的部署-让网络上的人都能访问你的网站1. 搭建环境1.1 jdk1.2 Tomcat1.2.1 上传tomcat程序1.2.2 给启动脚本加上可执行权限1.2.3 启动Tomcat1.2.4 让服务器运行8080端口的流量通过 1.3 MySQL 2. 代码修改2.1 修…

协议逆向工程(图

协议逆向工程流程图 协议状态机推断的一般示例 状态机方法时间轴

MySQL的存储引擎、建库、权限管理

目录 一、前言 1.MySQL的介绍 二、存储引擎 1.什么是存储引擎 2.常见存储引擎 2.1.InnoDB(MySQL默认引擎) 2.1.1.四种隔离级别 2.2.MyISAM存储引擎 2.3.Memory存储引擎 3.ACID事务 三、CRUD操作 1.插入数据 2.查询数据 3.修改数据 4.删除数据 四、数据库 1.默认…

自动化测试实践经验和教训

目录 前言&#xff1a; 一、所谓自动化是为了软件发布服务的&#xff0c;并不只是为了测试服务 二、不要事后去计算人工替代率&#xff0c;而是要参考自动化测试有效性 三、度量一个自动化测试的可实施性可以从其可控制性或者可测试性上来考虑 四、试点推进自动化测试 五…

WebDAV之π-Disk派盘 + Koder

Koder 支持WebDAV方式连接π-Disk派盘。 一款可以让你在iPhone、iPad上写各种编程语言代码的app,码农不要错过。 Koder是iPad和iPhone的代码编辑器。它确实具有许多功能,包括语法突出显示,代码段管理器,选项卡式编辑,查找和替换代码,编辑器主题,远程和本地文件连接等…

Java基础---枚举

枚举类型是指由一组固定的常量组成合法的类型Java中由关键字enum来定义一个枚举类型 Java中枚举的好处如下&#xff1a; 1-枚举可以的 valueOf 可以自动对入参进行非法参数的校验 2-可以调用枚举中的方法&#xff0c;相对于普通的常量来说操作性更强 3-枚举实现接口的话&#…