在pycharm搭建了一个服务器,可以运行成功,但是在浏览器上打不开,端口没有被占用,防火墙也没有阻拦,host换了“localhost”和“127.0.0.1”也都没有用
3条回答 默认 最新
- Hi 小朋友 2023-07-09 05:45关注解决 无用评论 打赏 举报
- IT工程师_二师兄 2023-07-09 07:37关注解决 无用评论 打赏 举报
关注
- 你可以看下这个问题的回答https://ask.csdn.net/questions/7623492
- 这篇博客你也可以参考下:Flask--如何在pycharm中导入并运行flask项目
- 除此之外, 这篇博客: Pycharm之开始使用、flask视频分镜头处理中的 2.我们需要对视频的每一帧进行提取。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
注意:(1)需要在项目文件夹下手动新建存放图片的文件夹;(2)尽量不要使用os.chdir()去改变路径,容易“迷惑”Pycharm寻找文件,使用默认地址即可;(3)一定注意路径的使用,比如:视频放在项目的所属文件中
from flask import Flask,render_template import os import cv2 app=Flask(__name__) def genFrame(): v_path='static/ghz.mp4' image_save='static/pic' if not(os.path.exists(image_save)): os.mkdir(image_save) cap=cv2.VideoCapture(v_path) fc=cap.get(cv2.CAP_PROP_FRAME_COUNT) for i in range(int(fc)): _,img=cap.read() cv2.imwrite('static/pic/image{}.jpg'.format(i),img) @app.route('/') def index(): genFrame() return render_template('index.html') if "__main__"==__name__: app.run()
html文件内容则为:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 视频分镜 <br> <video width="180" height="320" controls autoplay> <source src="static/ghz.mp4" type="video/mp4"> <object data="static/ghz.mp4" width="180" height="320"> <embed width="180" height="320" src="static/ghz.mp4"> </object> </video> </body> </html>
结果:
pic文件里也有所有的图片,例如:
- 您还可以看一下 李焱兵老师的python flask web开发入门与项目实战课程中的 搭建开发环境[请安装专业版pycharm]小节, 巩固相关知识点
- 以下回答由chatgpt基于相关博客总结生成:
首先,服务器无法在浏览器上打开可能有以下几个原因导致:
-
端口被占用:请再次确认端口是否被其他程序占用。可以使用
netstat -ano
命令(Windows)或lsof -i :port
命令(Mac/Linux)检查端口占用情况。 -
防火墙阻拦:除了确认本地防火墙之外,也需要检查路由器或网络设备上的防火墙设置,确保端口被正确放行。
-
Flask配置问题:请检查Flask应用程序的配置,特别是
app.run()
函数的参数。确保host
参数设置为正确的IP地址,可以尝试将其改为0.0.0.0
来监听所有网络接口。
根据参考资料中的代码片段,可以看出这是一个基于Flask的API接口。如果代码已经成功运行并且没有报错,那么可能是服务器的问题。
在代码中,
letter_api.add_resource(Letter_Res,'/message',endpoint='message')
这一行表明在路径/message
上注册了一个资源。但这并不意味着服务器会自动监听该路径,还需要在app.run()
函数中使用host
和port
参数指定服务器的监听地址和端口。以下是一个可能的解决方案:
from flask import Flask app = Flask(__name__) # 加载资源 from financial.resource.letter.letter_resource import Letter_Res app.add_resource(Letter_Res,'/message',endpoint='message') if __name__ == "__main__": app.run(host='0.0.0.0', port=5000)
上述代码中的
host
参数设置为0.0.0.0
,这将使服务器监听所有网络接口。port
参数设置为5000
,你可以根据需要更改为其他未被占用的端口。请尝试运行上述代码,并在浏览器中访问
http://127.0.0.1:5000/message
,如果仍然无法打开,请确认代码中是否还有其他相关配置,并提供更多细节以供进一步分析问题。 -
解决 无用评论 打赏 举报