使用pccharm运行flask ,
在本地http://127.0.0.1:5000/page/reject_lot_collecr
可正常新增收集资讯
当运用场景运换到局域网可以正常连线却报错Sorry, Page Not Found
http://192.168.200.63:8848/Desktop/QSPG/templates/page/reject_lot_collect.html
下方附上各源码
reject_lot_collect.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Reject lot information </h1><p>
<h2>退帐资料收集</h2>
<style>
form {
display: flex;
flex-direction: column;
align-items: left;
}
form p {
display: flex;
align-items: center;
margin: 10px;
}
form p input[type="text"] {
width: 300px;
margin-left: 0px;
}
form p label {
width: 100px;
}
form p input[type="submit"] {
margin-top: 0px;
}
</style>
<form action="/result" method="post">
<p><label for="op_name">工号:</label>
<input type="text" id="op_name" name="OP_name" ></p >
<p><label for="step">站别:</label>
<input type="text" id="step" name="step" ></p >
<p><label for="product_Name">产品型号:</label>
<input type="text" id="product_Name" name="Product_Name" ></p >
<p><label for="lot_number">产品批号:</label>
<input type="text" id="lot_number" name="lot_number" ></p >
<p><label for="reason">退帐原因:</label>
<input type="text" id="reason" name="reason" ></p >
<p><label for="remark">备注:</label>
<input type="text" id="remark" name="remark"></p >
<p><label for="datetime">申请日期:</label>
<input type="text" id="datetime" name="datetime" value="" readonly></p >
<script>
// 获取当前日期
var today = new Date();
// 将日期格式化为YYYY-MM-DD的字符串
var dateString = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
// 将日期字符串设置为输入框的默认值
document.getElementById('datetime').value = dateString;
</script>
<p><input type="submit" value="提交"></p >
</form>
</body>
</html>
collect_result.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.button-container {
margin-top: 50px;
}
.button-container button {
margin-right: 30px;
}
</style>
</head>
<body>
<table border="1.5">
{% for key,value in result.items() %}
<tr>
<td>{{key}}</td>
<td>{{value}}</td>
</tr>
{% endfor %}
</table>
<div class="button-container">
<button onclick="history.back()">上一页</button>
<button onclick="window.close()">关闭</button>
</div>
</body>
</html>
reject_lot.py
import csv
import os
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/page/reject_lot_collect')
def register():
return render_template("page/reject_lot_collect.html")
@app.route('/result', methods=['POST', 'GET'])
def result():
if request.method == 'POST':
result = request.form
save_to_csv(result) # 调用保存为CSV函数
return render_template("page/collect_result.html", result=result)
def save_to_csv(result):
csv_path = 'path/reject_lot_db.csv' # 指定保存的路径和文件名
file_exists = os.path.isfile(csv_path)
with open(csv_path, 'a', newline='') as csvfile:
fieldnames = result.keys()
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
if not file_exists:
writer.writeheader()
writer.writerow(result)
if __name__ == '__main__':
app.run()
问题点:局域网里访问
修改flask设置,使之能够公开访问
仅需要在app.run里增加一个参数host
app.run(host='0.0.0.0')
依照大大建议新增 host 指令如下
一样提示Sorry, Page Not Found
麻烦看下这样填哪儿有问题
if __name__ == '__main__':
debug = False
app.run(host='192.168.200.63')
Pycharm 程式执行讯息
FLASK_APP = reject_lot.py
FLASK_ENV = development
FLASK_DEBUG = 1
In folder C:/Users/mis/Desktop/QSPG
C:\Users\mis\AppData\Local\Programs\Python\Python37\python.exe -m flask run
* Serving Flask app 'reject_lot.py'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 779-914-757