如何使用Markup在Flask中通过jsonify返回html模式?

时间:2017-11-19 12:50:50

标签: json flask

我创建了一个包含一个小模态窗口的函数,以便在用户提交表单时发生任何错误时返回该函数。

这是我的 modal_window.py

{
  char string[80];
  int dayNumber;

  dayNumber = 27;
  sprintf(string, "\"Block1\": {\n\t\"Day\": %d,\n", dayNumber);
...

这是我在# -*- coding: utf-8 -*- from flask import Markup def title(): return Markup(''' <div class=\"mw-narrow\" id=\"modal_window\"> <h3 class=\"mw_headline\">Fill in the title</h3> <a class=\"_c close_window\"> <i aria-hidden=true class=\"close_window_icon fa fa-times\" onclick=MWHide()></i> </a> <div class=\"mw_content\"> <p class=\"mw_descrip-mini text-center\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna</p><div class=\"pedit_row" style=\"margin-bottom: 0;\"> <span class=\"pedit_label\">The title</span> <input type=\"text" name=\"" placeholder=\"" class=\"pedit_labeled\"> </div></div><div class=\"mw_footer\"> <a class=\"flat_button-center" onClick=\"MWHide(); MWShow(\'edit-cphone\');\">change</a> </div></div> ''') 中返回函数的地方:

views.py

如果我试图测试它,我会收到错误消息:

  

引发TypeError(repr(o)+“不是JSON可序列化的”)

有没有办法从我的视图中返回一个模态窗口并将其显示给用户。

如果您有任何想法或如何做这项工作,请帮助我。

1 个答案:

答案 0 :(得分:1)

title

  

实现所有标准字典方法的MultiDict。在内部,它将键的所有值保存为列表,但标准的dict访问方法只返回键的第一个值(source

我想type(title)不是一个字符串(你应该尝试记录str(title)的结果来发现确切的类型),但是一个不能按原样序列化的类型。< / p>

两种解决方案:

  • jsonify
  • 中使用request.form.get(key, type=str)
  • 使用<img id="Logo" runat="server" width="100%" height="100%" src="../TempLogo/chafa.jpg" />自动获取正确类型的值