返回顶部
首页 > 资讯 > 后端开发 > Python >如何在后端使用python写网页
  • 126
分享到

如何在后端使用python写网页

2023-06-06 14:06:57 126人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

如何在后端使用python写网页?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。安装flask模块首先使用pip进行安装:pip install flas

如何在后端使用python写网页?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

安装flask模块

首先使用pip进行安装:

pip install flask

在所在项目文件夹下创建templates文件夹(用于存放html等文件)和app.py,如图:

如何在后端使用python写网页

Hello World

我们可以在templates文件中新建index.html文件,其内容如下:

<html> <h2>Hello Word!</h2></html>

在上一步建立的app.py文件中,写入:

from flask import Flask, render_template, request, JSONify#创建Flask对象app并初始化app = Flask(__name__)#通过Python装饰器的方法定义路由地址@app.route("/")#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面def root(): return render_template("index.html")#定义app在8080端口运行app.run(port=8080)

我们写好app.py文件后,我们按F5运行,即终端输出:

如何在后端使用python写网页

我们访问服务器的8080端口,即Hello World出现在眼前!

如何在后端使用python写网页

更深一步:数据绑定

上一步我们简单地搭建好一个静态网页,它的显示只取决于前端,是固定不变的。我们如何做到从后端传递数值并在前端显示呢?这就需要使用数据绑定.

数据绑定,顾名思义,是为了实现一种“动态”的效果,后台的数据更新了,前端页面也自动更新;前端页面上的数据更新了,后台的数据也自动更新。在flask框架中,后端先将网页进行加载,并把传入的数据放在合适的位置后使用jinjia2引擎渲染,最后将渲染好的页面返回。

后端传入数据

我们首先在render_template函数中传递需要绑定的数据name,age:

from flask import Flask, render_template, request, jsonify#创建Flask对象app并初始化app = Flask(__name__)#通过python装饰器的方法定义路由地址@app.route("/")#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面def root(): return render_template("index.html",name="zxy",age=21)#定义app在8080端口运行app.run(port=8080)

在前端index.html中,我们获取传入的数据:

<html> <h2>我是{{name}},今年{{age}}岁</h2></html>

我们再按F5运行,并访问服务器的8080端口,页面显示:

如何在后端使用python写网页

从前端获取数据

那么,前端提交的数据如何传到后端呢?

在这里,我使用ajax实现数据的异步传输。我们将主要步骤概括为:

在前端页面中引入jQuery

创建两个输入框,一个按钮用于输入数据和事件提交。

在js中编写事件,使用ajax进行数据提交

在后端app.py中编写对应的事件处理函数

前端index.html内容如下:

<html> <!--引入Jquery包用于使用ajax--> <script type="text/javascript" src="Http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <h2>请输入你的姓名和年龄</h2> <!--创建两个input输入框,定义id分别为name,age--> <input type="text" id="name" name="name" placeholder="姓名"> <br> <input type="text" id="age" name="age" placeholder="年龄"> <br> <!--创建button按钮,点击则激发submit()事件--> <button onclick="submit();">提交</button> <script>  function submit() { $.ajax({ url: "submit",  type: "POST",  data: { "name": $("#name").val(),"age":$("#age").val()},   success: function (result) {  if (result.message == "success!") {  alert(result.message+"你的名字是"+result.name+",你的年龄是"+result.age)  }  else {  alert(result.message)  } } }); } </script></html>

当我们完成ajax数据提交后,则在后端app.py处编写对应的处理函数submit()。

app.py中的内容如下:

from flask import Flask, render_template, request, jsonify#创建Flask对象app并初始化app = Flask(__name__)#通过python装饰器的方法定义路由地址@app.route("/")#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面def root(): return render_template("index.html")#app的路由地址"/submit"即为ajax中定义的url地址,采用POST、GET方法均可提交@app.route("/submit",methods=["GET", "POST"])#从这里定义具体的函数 返回值均为json格式def submit(): #由于POST、GET获取数据的方式不同,需要使用if语句进行判断 if request.method == "POST": name = request.fORM.get("name") age = request.form.get("age") if request.method == "GET": name = request.args.get("name") age = request.args.get("age") #如果获取的数据为空 if len(name) == 0 or len(age) ==0: return {'message':"error!"} else: return {'message':"success!",'name':name,'age':age}#定义app在8080端口运行app.run(port=8080)

编写完成后,我们访问服务器8080端口进行测试,结果如下:

如何在后端使用python写网页

数据库连接

数据库是一个网页不可或缺的部分。前面的例子中,数据都是从前端获取或者随机输入的。如何从数据库中获取数据呢?

首先我们引入pymysql库 并编写Database类,该类写在database.py中:

import pyMysqlclass Database: #设置数据库的连接参数,由于我是在服务器中编写的,所以host是localhost host = "localhost" user = "root" password = "Zhangxy0212!!" #类的构造函数,参数db为欲连接的数据库。该构造函数实现了数据库的连接 def __init__(self,db): connect = pymysql.connect(host=self.host,user=self.user,password=self.password,database=db) self.cursor = connect.cursor() #类的方法,参数command为sql语句 def execute(self, command): try: #执行command中的sql语句 self.cursor.execute(command) except Exception as e: return e else: #fetchall()返回语句的执行结果,并以元组的形式保存 return self.cursor.fetchall()

我们可以在templates文件中新建一个data.html文件,用于创建一个新的页面,文件内容如下:

<html><script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><h2>请输入你的名字</h2><input type="text" id="name" name="name"><button onclick="show();">提交</button><!--result用来显示提交结果--><p id="result"></p><script> function show() { $.ajax({  url: "show",  type: "POST",  data: { "name": $("#name").val()},    success: function (result) {  if (result.status == "success") {   $("#result").text($("#name").val() + "是" + result.message)  }  else {   $("#result").text("出错了")  }  } }); }</script></html>

按钮的触发事件为show();接下来我们在app.py中编写 渲染data.html页面的函数data()事件处理函数show().

切记,这两个函数一定要加在 创建app对象定义运行端口之间!!

由于我们要使用写好的Database类进行数据库的连接,因此需要在app.py顶部进行引入:

from database import Database

data()函数和show()函数如下:

#通过python装饰器的方法定义路由地址@app.route("/data")#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面def data(): return render_template("data.html")#app的路由地址"/show"即为ajax中定义的url地址,采用POST、GET方法均可提交@app.route("/show",methods=["GET", "POST"])def show(): #首先获取前端传入的name数据 if request.method == "POST": name = request.form.get("name") if request.method == "GET": name = request.args.get("name") #创建Database类的对象sql,test为需要访问的数据库名字 具体可见Database类的构造函数 sql = Database("test") try: #执行sql语句 多说一句,f+字符串的形式,可以在字符串里面以{}的形式加入变量名 结果保存在result数组中 result = sql.execute(f"SELECT type FROM type WHERE name='{name}'") except Exception as e: return {'status':"error", 'message': "code error"} else: if not len(result) == 0:  #这个result,我觉得也可以把它当成数据表,查询的结果至多一个,result[0][0]返回数组中的第一行第一列  return {'status':'success','message':result[0][0]} else:  return "rbq"

我们按F5运行app.py文件后,访问http://121.41.111.94/data

运行结果如图:

如何在后端使用python写网页

多提一句,数据表type中的内容如下:

如何在后端使用python写网页

screen

至此,使用flask框架搭建简单网页的基本流程结束啦!

我想你们心中一定有个疑问,每次运行python程序总是需要按F5运行,如果关掉 VS Code ,那么进程将会被杀掉,服务器页面就无法显示,如图:

如何在后端使用python写网页

那么我们就需要在服务器中使用screen创建一个后台,将app.py程序放在后台中运行,达到持续运行的目的。

创建后台

由于我的服务器是Centos,所以我使用 yum install screen的方式下载的screen。

下载完成后,在服务器的任意位置 输入screen命令即可创建后台,后台如图:

如何在后端使用python写网页

即上面会显示screen 0.

我们进入工程所在的文件try 输入命令:python app.py 如图:

如何在后端使用python写网页

这样 我们再访问一下121.41.111.94,会发现 网站已经启动啦!我们即使关闭命令行,程序也继续在后台运行。

查看删除后台

如果我们需要查看后台的运行情况,在服务器中输入命令:screen -x

如果需要停止后台运行,则先通过 screen -x [pid号] 进入某一后台。进入之后Ctrl+C即可停止运行。

如果删除后台,则先通过 screen -x [pid号] 进入某一后台,进入之后输入exit

关于如何在后端使用python写网页问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网Python频道了解更多相关知识。

--结束END--

本文标题: 如何在后端使用python写网页

本文链接: https://lsjlt.com/news/247530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在后端使用python写网页
    如何在后端使用python写网页?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。安装flask模块首先使用pip进行安装:pip install flas...
    99+
    2023-06-06
  • 如何使用纯Python写一个网页
    这篇文章主要介绍了如何使用纯Python写一个网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在Github上逛的时候,找到一个非常酷的神器,名字叫remi ,目前收获了2...
    99+
    2023-06-16
  • javascript如何写后端
    JavaScript在Web开发中起到的作用越来越重要,不仅仅是在前端开发中,甚至在后端开发中也有广泛的应用。本文将介绍如何使用JavaScript作为后端编程语言。首先,我们需要了解JavaScript在后端编程中的优点。JavaScri...
    99+
    2023-05-22
  • html网页调用后端python代码方法
    当我们利用html代码制作网页时,可以用以下方法进行python代码的调用: 1.简单的python代码例如输出‘hello world’时,可以选择直接在网页写入python代码的方式调用,这时候我们就需要了解Pyscript了。以下是在...
    99+
    2023-09-01
    html 前端 python flask
  • 使用pyscript在网页中撰写Python程式的方法
    根据 Anaconda 的项目 pyscript,可以将 python 的代码直接写在网页中,目前只支援两种标签,分别是<py-script> 与 <py-repl...
    99+
    2024-04-02
  • Python如何使用Requests请求网页
    本篇内容主要讲解“Python如何使用Requests请求网页”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何使用Requests请求网页”吧!Requests 继承了u...
    99+
    2023-07-05
  • html网页调用后端python代码的方法实例
    当我们利用html代码制作网页时,可以用以下方法进行python代码的调用: 1.简单的python代码例如输出‘hello world’时,可以选择直接在网...
    99+
    2023-01-17
    HTML调用Python程序 html嵌入python 用html可以调用Python吗
  • 如何写好后端API接口
    这篇文章主要讲解了“如何写好后端API接口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何写好后端API接口”吧!接口交互前端和后端进行交互,前端按照约定...
    99+
    2024-04-02
  • 如何使用js编写网页进度条效果
    这篇文章主要介绍了如何使用js编写网页进度条效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、基本思路为了让我们编写的网页进度条满足现有...
    99+
    2024-04-02
  • Python如何写出最简单的网页爬虫
    Python如何写出最简单的网页爬虫,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。最近对python爬虫有了强烈地兴趣,在此分享自己的学习路径。1.开发工具笔者使用的工具是...
    99+
    2023-06-17
  • Python编程语言如何进行网页编写
    本篇内容介绍了“Python编程语言如何进行网页编写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python的web framework如...
    99+
    2023-06-17
  • 如何使用 Python 编写 API 并在 Spring 中使用?
    Python 是一种十分流行的编程语言,它有着强大的数据处理和分析能力,同时也拥有丰富的库和工具,可以轻松地编写出高效、灵活的 API 接口。而 Spring 是一个基于 Java 开发的 Web 应用框架,它提供了很多方便的工具和组件,帮...
    99+
    2023-11-10
    spring linux api
  • 如何使用阿里云服务器登陆网页端
    在使用阿里云服务器的过程中,我们经常需要通过网页端进行管理和操作。那么,如何使用阿里云服务器登陆网页端呢?本文将详细说明。 在阿里云的控制台上,我们可以使用网页端来管理和操作我们的服务器。下面我们就来看看如何使用阿里云服务器登陆网页端。步骤...
    99+
    2023-10-31
    阿里 如何使用 服务器
  • 如何在jsp页面写javascript
    随着互联网的发展,动态网页技术越来越成熟,JSP技术也越来越受到开发者的青睐。在JSP页面中,JavaScript的应用广泛而深入,可以实现动态交互效果,为网站增加了更多的互动和生动性。下面就介绍一下如何在JSP页面中写JavaScript...
    99+
    2023-05-14
  • python在前端页面使用 MySQLdb 连接数据
    目录1.文件结构2.实验效果3.主文件:main.py4.base.html文件5.update.html文件6.delete.html文件7.search.html文件1...
    99+
    2024-04-02
  • 如何在python中使用xlwings库读写excel
    如何在python中使用xlwings库读写excel?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、xlwings 中的逻辑:应用->工作簿->工作表->...
    99+
    2023-06-06
  • 在阿里云服务器如何创建网页端
    简介 在使用阿里云服务器时,创建一个网页端是非常常见的需求。本文将介绍如何在阿里云服务器上创建一个简单的网页端,并提供一些常用的工具和示例。1. 安装Node.js和npmNode.js是一个流行的JavaScript运行环境,而npm(N...
    99+
    2023-12-31
    阿里 服务器 网页
  • java后端如何实现页面跳转
    页面跳转分类有两种:重定向和转发,即redirect和forward。一:重定向redirect第一种方式:controller中返回值为String相关免费学习视频分享:java在线学习public String login(HttpSe...
    99+
    2019-10-12
    java教程 java 后端 实现 页面跳转
  • 怎么使用php写一个网页
    要使用PHP编写一个网页,需要按照以下步骤进行:1. 安装PHP:首先要确保你的电脑上已经安装了PHP。你可以从PHP官方网站(ht...
    99+
    2023-08-12
    php
  • 如何在使用location.reload()重新加载后重定向页面
    您可以在重新加载页面后使用JavaScript的`window.location.href`方法来重定向页面。以下是一个示例代码:`...
    99+
    2023-08-18
    重定向
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作