使用url参数烧瓶render_template

时间:2017-11-17 08:21:43

标签: templates flask pdf.js pdfjs

我使用pdf.js在web中呈现pdf。目标网址的格式如下:

FROM resin/raspberry-pi-python:latest
RUN mkdir /myscript
WORKDIR /myscript
COPY capturing.py .
CMD ["/myscript/capturing.py", "-flag"]

我的问题是: 我使用flask模板生成页面:

http://www.example.com/book?file=abc.pdf

但是如何将url参数“file = abc.pdf”附加到url? 该参数将由viewer.js(包含在book.html中)读取,该参数使用它来读取文件以呈现pdf。

我是新手,希望有人给我一些帮助!

3 个答案:

答案 0 :(得分:4)

您可以使用重定向功能,可以根据需要重定向您:

<add name="kroger-webpage" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\[me]\source\WebSites\WebSite2\App_Data\kroger-webpage.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

答案 1 :(得分:1)

您可以使用请求对象获取已在请求网址中传递的参数。

    @app.route("/book", methods=["GET"])
    def get_book():
        file = request.args.get("file")
        if file:
            return render_template('book.html', file=file)
        abort(401, description="Missing file parameter in request url")

答案 2 :(得分:1)

This topic帮助我重温了我的问题,但似乎不是完美的答案。 代码 viewer.py 未更改。解决方案是:

step1)我嵌入了代码

<script>var FILE_PATH = {{ file }}</script>

在模板中。

step2)将使用变量的脚本需要修改代码( viewer.js ),来自:

var file = 'file' in params ? params.file : DEFAULT_URL

var file = FILE_PATH ? FILE_PATH: DEFAULT_URL

viewer.js 不再独立。

我希望有人提供更好的解决方案。