Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python url\u为静态文件夹创建了错误的路径_Python_Flask - Fatal编程技术网

Python url\u为静态文件夹创建了错误的路径

Python url\u为静态文件夹创建了错误的路径,python,flask,Python,Flask,我们的服务器上运行着一个Flask应用程序(xxxx.edu.au:5000)。但是,我们设置了一个代理xxxx.edu.au/getseq,它将请求转发到xxxx.edu.au:5000 不幸的是,在浏览器中,现在我们看到加载源代码失败“https://xxxx.edu.au/static/vehicle.js“ 这是烧瓶应用程序结构: flask ├── getseq.py ├── static │ └── vehicle.js └── templates └── example

我们的服务器上运行着一个Flask应用程序(xxxx.edu.au:5000)。但是,我们设置了一个代理
xxxx.edu.au/getseq
,它将请求转发到
xxxx.edu.au:5000

不幸的是,在浏览器中,现在我们看到
加载源代码失败“https://xxxx.edu.au/static/vehicle.js“

这是烧瓶应用程序结构:

flask
├── getseq.py
├── static
│   └── vehicle.js
└── templates
    └── example.html
烧瓶应用程序写在这里:

$ cat getseq.py
from flask import Flask, render_template, request
from wtforms import Form, RadioField, TextAreaField
from wtforms.widgets import TextArea

SECRET_KEY = 'development'

app = Flask(__name__)
app.config.from_object(__name__)
...

@app.route("/getseq/<mrna_id>", methods=['post', 'get'])    
def get_sequences(mrna_id):
    ...
    return render_template('example.html', form=form)

@app.route("/getseq/health", methods=['get'])
def health():
    response = app.response_class(
        status=200,
        mimetype='text/html'
    )
    return response

if __name__ == '__main__':
    print("starting...")
    app.run(host='0.0.0.0',port=5000,debug=True)
如何更改的
url\u或者我必须更改
getseq.py


提前感谢您,

如果不重复您的问题,很难判断是什么导致您的静态资产失败。作为一种解决方法,您可以在服务器上读取
vehicle.js
,对其进行base64编码,将其传递到模板上下文中,并使用以下内容呈现脚本标记:

<script type="text/javascript" src="data:text/javascript;base64,{{ base64_encoded_data }}"></script>

编辑 在视图处理程序中:

import base64


@app.route("/getseq/<mrna_id>", methods=['post', 'get'])    
def get_sequences(mrna_id):
    with open('static/vehicle.js', 'rb') as f:
        base64_encoded_data = base64.b64encode(f.read())
    return render_template('example.html', form=form, base64_encoded_data=base64_encoded_data)
导入base64
@app.route(“/getseq/”,方法=['post','get'])
def get_序列(mrna_id):
将open('static/vehicle.js','rb')作为f:
base64_encoded_data=base64.b64encode(f.read())
返回呈现模板('example.html',form=form,base64\u编码的\u数据=base64\u编码的\u数据)

如果不重复您的问题,很难判断是什么导致您的静态资产失败。作为一种解决方法,您可以在服务器上读取
vehicle.js
,对其进行base64编码,将其传递到模板上下文中,并使用以下内容呈现脚本标记:

<script type="text/javascript" src="data:text/javascript;base64,{{ base64_encoded_data }}"></script>

编辑 在视图处理程序中:

import base64


@app.route("/getseq/<mrna_id>", methods=['post', 'get'])    
def get_sequences(mrna_id):
    with open('static/vehicle.js', 'rb') as f:
        base64_encoded_data = base64.b64encode(f.read())
    return render_template('example.html', form=form, base64_encoded_data=base64_encoded_data)
导入base64
@app.route(“/getseq/”,方法=['post','get'])
def get_序列(mrna_id):
将open('static/vehicle.js','rb')作为f:
base64_encoded_data=base64.b64encode(f.read())
返回呈现模板('example.html',form=form,base64\u编码的\u数据=base64\u编码的\u数据)

呈现
模板/example.html
的视图处理程序代码在哪里?它以
get\u序列(mrna\u id)
的形式获取呈现,作为
返回呈现模板('example.html',form=form)
。模板文件夹中的此html文件将正确显示在浏览器中。我更新了我的问题。是否
https://xxxx.edu.au/getseq/static/vehicle.js
work?不,没有,而且我没有找到
服务器上没有找到请求的URL。如果手动输入URL,请检查拼写并重试
您是如何设置代理的?呈现
模板/example.html
的视图处理程序代码在哪里?它以
获取序列(mrna\u id)
的形式呈现为
返回呈现模板('example.html',form=form)
。模板文件夹中的此html文件将正确显示在浏览器中。我更新了我的问题。是否
https://xxxx.edu.au/getseq/static/vehicle.js
work?不,没有,而且我没有找到
服务器上没有找到请求的URL。如果您手动输入URL,请检查拼写并重试
您是如何设置代理的?我应该如何更改
template/example.html
中的
?您不必担心jquery CDN,只需将
URL\u添加到您的静态资产中即可。请参阅我的编辑,将
base64\u编码的\u数据
传递到模板上下文中。我应该如何在
template/example.html
中更改
?您不必担心jquery CDN,只需将
url\u传递到静态资产即可。有关将
base64\u编码的\u数据传递到模板上下文的信息,请参见我的编辑