提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文介绍如何把Flask项目部署到Centos服务器上。从创建Flask项目到能用IP地址访问
提示:以下是本篇文章正文内容,下面案例可供参考
一、租用服务器
如果是25周岁以下,可以去阿里云或
二、创建Flask项目
1.前端代码
这里就是正常的HTML5前端代码,为了便于观看结构,只写出了最基本的前端代码(文件名:index.html):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello CSDN!</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
2.后端代码
后端代码web.py代码如下(示例):
from flask import Flask, render_template, request,redirect,url_for,jsonify
import os
import sys
#创建Flask对象app并初始化
app = Flask(__name__)
#通过python装饰器的方法定义路由地址
@app.route("/")
#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面
def root():
return render_template("index.html",data_dict={})#注意这里的index.html为上面写的待显示的前端文件名。
#定义app在8080端口运行
app.run(port=8080)
直接运行上面的web.py文件,点击下面控制台的IP地址就可以正常显示index.html了。下面介绍进阶版—前端将数据传给后端。
进阶版:前端将输入数据传给后端
这里需要用到script,通过url定位到后端的函数。
1.前端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello CSDN!</title>
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/popper.js/1.12.5/umd/popper.min.js"></script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<input id="sentence" name="sentence" class ="sentence"/>
<input type="submit" value="发送" onclick="submit();"/>
<script>
function submit()
{
$.ajax({
url: "submit", /*数据提交到submit处,这里记得和后端的地址要对应*/
type: "POST", /*采用POST方法提交*/
data: { "snetence": $("#sentence").val()},/*data就是以json格式将前端snetence文本框里的数据传到后端的数据*/
})
}
</script>
</body>
</html>
2.后端代码
from flask import Flask, render_template, request,redirect,url_for,jsonify
import os
import sys
#创建Flask对象app并初始化
app = Flask(__name__)
#通过python装饰器的方法定义路由地址
@app.route("/")
#定义方法 用jinjia2引擎来渲染页面,并返回一个index.html页面
def root():
return render_template("index.html")#注意这里的index.html为上面写的待显示的前端文件名。
@app.route("/submit")#这个地址就是要和前端中url地址一样的,具体叫啥名字不太记得了,反正就是如果url是符合的,那么就会访问下面紧接着的这个函数。
def submit():
if request.method == "POST":
sentence = request.form.get("sentence")#这的名字要和上面的json中的名字对应
if request.method == "GET":
senetence = request.args.get("sentence")
return render_template("index.html")
#定义app在8080端口运行
app.run(port=8080)
同理,直接运行上面的web.py文件,点击下面控制台的IP地址就可以正常显示index.html了。下面介绍另一个进阶版—后端将数据传给前端。
## 进阶版:后端将数据传给前端