为什么瓶子不能显示局部图像?

2024-10-03 06:27:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我是初学者。我想用瓶子来展示图片。在事实上,我先保存图片。在

然后我想把照片部门但是当我用我的代码来做的时候。在

错误消息是“GEThttp://localhost:8081/test.jpg404(Not Found)”

我的项目结构:

在--测试瓶.py在

在--测试.jpg在

代码输入测试瓶.py公司名称:

# -*- coding:  utf-8 -*-
import bottle
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
from scipy import optimize as opt


def generate(code, year,week):
    kion = pd.read_csv(r'D:/a.csv')
    kion.head()
    Px = np.arange(0, len(kion), 1)
    Py = kion['temp']
    plt.plot(Px, Py)
    res = opt.curve_fit(fit_func, Px, Py)
    a = res[0][0]
    b = res[0][1]
    c = res[0][2]
    d = res[0][3]
    print("a = %s" % a)
    print("b = %s" % b)
    print("c = %s" % c)
    print("d = %s" % d)
    Px2 = []
    for x in Px:
        Px2.append(a * x ** 3 + b * x ** 2 + c * x + d)
    plt.plot(Px, Py)
    plt.plot(Px, np.array(Px2))
    plt.savefig('test.jpg')
    bottle.redirect('/show')


def fit_func(x, a, b, c, d):
    return a * x ** 3 + b * x ** 2 + c * x + d


@bottle.route('/show')
def index():
    return '''  <div id="container" style="height: 200px; width:200px">
                <img src="/test.jpg"  alt="error" />
                </div>
            '''


@bottle.route('/index')
def index():
    return ''' <form action="/generate" method="post">
                 enployeeCode: <input name="enployeeCode" type="text" /><br/>
                 reportYear: <input name="reportYear" type="text" /><br/>
                 reportWeek: <input name="reportWeek" type="text" /><br/>
                 <input value="generate" type="submit">
               </form>
            '''


@bottle.route('/generate', method='POST')
def get_para():
    enployeeCode = bottle.request.POST.get('enployeeCode')
    reportYear = bottle.request.POST.get('reportYear')
    reportWeek = bottle.request.POST.get('reportWeek')
    if enployeeCode and reportYear and reportWeek:
        generate(enployeeCode, reportYear,reportWeek)

bottle.run(host='localhost', port=8081)

我在URL:http://localhost:8081/indexenter image description here

然后我单击按钮。enter image description here

即使我将图片路径改为绝对路径,如下所示:

^{pr2}$

也不能显示。在


Tags: pyimportbottleindexdefasresplt
2条回答

我知道怎么做。在

像这样修改代码:

代码输入测试瓶.py公司名称:

# -*- coding:  utf-8 -*-
import bottle
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
from scipy import optimize as opt
import os


def generate(code, year, week):
    kion = pd.read_csv(r'D:/a.csv')
    kion.head()
    Px = np.arange(0, len(kion), 1)
    Py = kion['temp']
    plt.plot(Px, Py)
    res = opt.curve_fit(fit_func, Px, Py)
    a = res[0][0]
    b = res[0][1]
    c = res[0][2]
    d = res[0][3]
    # print("a = %s" % a)
    # print("b = %s" % b)
    # print("c = %s" % c)
    # print("d = %s" % d)
    Px2 = []
    for x in Px:
        Px2.append(a * x ** 3 + b * x ** 2 + c * x + d)
    plt.plot(Px, Py)
    plt.plot(Px, np.array(Px2))
    plt.savefig('./image/test.jpg')
    bottle.redirect('/show'+'test')


def fit_func(x, a, b, c, d):
    return a * x ** 3 + b * x ** 2 + c * x + d


@bottle.route('/show<name>')
def server_static(name):
    return bottle.static_file(name+'.jpg', root='./image')


@bottle.route('/index')
def index():
    # currentPath = os.path.dirname(__file__)
    # return bottle.template(currentPath+r'/html/index.html')
    return bottle.template('./html/index.html')

@bottle.route('/css/<filename>')
def server_static(filename):
    return bottle.static_file(filename, root='./css')

@bottle.route('/js/<filename>')
def server_static(filename):
    return bottle.static_file(filename, root='./js')

@bottle.route('/fonts/<filename>')
def server_static(filename):
    return bottle.static_file(filename, root='./fonts')

@bottle.route('/image/<filename>')
def server_static(filename):
    return bottle.static_file(filename, root='./image')

# @bottle.route('/locales/<filename>')
# def server_static(filename):
#     return bottle.static_file(filename, root='./locales')

@bottle.route('/generate', method='POST')
def get_para():
    employeeCode = bottle.request.POST.get('employeeCode')
    reportYear = bottle.request.POST.get('reportYear')
    reportWeek = bottle.request.POST.get('reportWeek')
    print("employeeCode:"+str(employeeCode))
    print("reportYear:" +str(reportYear))
    print("reportWeek:" + str(reportWeek))
    if employeeCode and reportYear and reportWeek:
        generate(employeeCode, reportYear,reportWeek)
        return "sucess"
    else:
        return "fail"

@bottle.error(404)
def error404(error):
    return 'Nothing here, sorry'

bottle.run(host='localhost', port=8081)

代码索引.html公司名称:

^{pr2}$

要提供静态文件或图像,必须创建路由。 @瓶子。路线('/static/') def server_static(文件名): """ 提供静态文件,如.js、.css、.jpeg等。。。 """ 返回静态文件(filename,root='static/')

在本例中,创建folder/static/ 并通过url/static/

相关问题 更多 >